Problème de CORS multiple avec Symfony, Nelmio

Par worksfather, il y a 4 ans


Bonjour à tous.

J’ai créé une API avec symfony et FOSRestBundle et je m’y connecte avec un front end en VueJS. Cela marche bien en local. Mais une fois en ligne, certaines routes me retournent une erreur de CORS.

Access to XMLHttpRequest at 'https://api.domain.com/route' from origin 'https://front-end.com/route' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'https://front-end.com, https://front-end.com', but only one is allowed.

Apparemment donc le serveur renvoie l’entête deux fois. Et je n’ai aucune idée de pourquoi car moi je l’ai défini une seule fois.

J’utilise Nelmio pour définir le CORS.

Ma configuration Nelmio dans /config/packages/nelmio_cors.yaml

nelmio_cors: defaults: origin_regex: true allow_origin: ['%env(CORS_ALLOW_ORIGIN)%'] allow_methods: ['GET', 'OPTIONS', 'POST', 'PUT', 'PATCH', 'DELETE'] allow_headers: ['Content-Type', 'Authorization'] expose_headers: ['Link'] max_age: 3600 paths: '^/': ~

Dans le fichier .env :

###> nelmio/cors-bundle ### CORS_ALLOW_ORIGIN='^https?://(front-end.com|localhost|127\.0\.0\.1)(:[0-9]+)?$' ###< nelmio/cors-bundle ###

Cela fonctionne très bien en local mais une fois sur mon hébergement mutualisé, cela me retourne l’erreur indiquée en haut.

Quelqu’un a-t-il déjà rencontré le problème s’il vous plaît ? Merci de m’aider.

2 réponses

Robert18, il y a 4 ans

Je vais essayer ceci et je vous fais un retour après, ok !

worksfather, il y a 4 ans

Ok Robert. D'avance merci