Nginx – Même après avoir ajouté la directive 'contrôle d'access autoriser l'origine', la requête enregistre une erreur

J'essaie d'exécuter nginx en face de mon application nodejs (j'utilise Windows Machine)

Mon application NodeJS fonctionne avec un port 3000

J'ai commencé le Nginx au port 8070

Lorsque j'essaie de cliquer sur http: // localhost: 8070 / depuis le browser, obtenez le problème cité ci-dessous

C'est ma configuration Nginx

server { listn 8070; server_name localhost; location / { access_log logs/access.log; add_header 'Access-Control-Allow-Origin' '*' always; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Headers' 'Content-Type,Accept'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_max_temp_file_size 0; proxy_pass http://my-app/; proxy_redirect off; proxy_read_timeout 240s; } } 

Mais je reçois toujours l'erreur suivante

XMLHttpRequest ne peut pas charger localhost: 3000 / my-app / api / engineOptions / get. La réponse à la request de pré-vol ne passe pas la vérification du contrôle d'access: l'en-tête «Accès-Contrôle-Autorisation-Origine» est présent sur la ressource demandée. Origin ' http: // localhost: 8070 ' n'est donc pas autorisé à accéder.

Est-ce que je manquerais quelque chose dans la configuration nginx concernant la directive Access-Control-Allow-Origin?

    One Solution collect form web for “Nginx – Même après avoir ajouté la directive 'contrôle d'access autoriser l'origine', la requête enregistre une erreur”

    Le problème ici est que votre JavaScript request une ressource à partir de localhost:3000 , qui est le server NodeJS, et sur la réponse de cette request, il n'y a pas de réponse Access-Control-Allow-Origin .

    Vous devez vous assurer que toutes les requêtes que vos files JS effectuent vont à localhost:8070 , votre nginx est. De cette façon, toutes les réponses obtiendront l'en-tête approprié.

    Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.