J'ai l'application frontale Angular JS qui consomme l'API backend écrite dans Symfony 3. J'utilise Symfony HTTP Cache pour accélérer certaines de mes réponses lourdes.Cache HTTP et Cross Origin Headers de Symfony 3 remplacer
Je suis dans la phase de test, donc mon API backend ajoute Access-Control-Allow-Headers:"*"
à toutes les réponses.
Mais, il y a un problème avec les réponses qui sont mises en cache. Dans leur en-tête, Access-Control-Allow-Headers:"*"
est remplacé par Access-Control-Allow-Headers:"example.com"
, où example.com
est l'adresse du client qui a demandé la ressource juste avant qu'elle ne soit mise en cache.
Donc, si j'ouvre mon application frontend sur l'adresse www.example.com
au lieu de l'adresse example.com
que je vois l'erreur suivante dans le Firebug
XMLHttpRequest cannot load https://backend.com/tests/all.
The 'Access-Control-Allow-Origin' header has a value 'http://example.com'
that is not equal to the supplied origin.
Origin 'http://www.example.com' is therefore not allowed access.
J'utilise NelmioCorsBundle qui ajoute des en-têtes CORS soutien à ma demande de Symfony3.
Merci beaucoup! L'ajout de 'forced_allow_origin_value' dans la configuration a résolu mon problème. Mais, avant cela, j'ai besoin de mettre à jour mon NelmioCors vers la version 1.5, et de mettre '*' dans les qoutes. 'forced_allow_origin_value: '*'' –
Merci! Cela fonctionne pour moi, mais avec des guillemets: 'forced_allow_origin_value: '*'' – Xander