Nginx - Mesmo depois de adicionar a diretiva 'access control allow origin' a solicitação registra erro

1

Estou tentando executar o nginx em frente ao meu aplicativo nodejs (estou usando o windows machine)

Meu aplicativo NodeJS está sendo executado na porta 3000

Eu iniciei o Nginx na porta 8070

Quando tento encontrar o link do navegador estou recebendo o problema citado abaixo

Esta é a minha configuração Nginx

server {
    listen       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;
    }
    }

Mas ainda estou recebendo o seguinte erro

XMLHttpRequest cannot load localhost:3000/my-app/api/engineOptions/get. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8070' is therefore not allowed access.

Estou faltando alguma coisa na configuração do nginx sobre a diretiva Access-Control-Allow-Origin?

    
por gkrishna 05.05.2017 / 14:05

1 resposta

0

O problema aqui é que seu JavaScript está solicitando um recurso de localhost:3000 , que é o servidor NodeJS e, na resposta dessa solicitação, não há Access-Control-Allow-Origin response.

Você deve certificar-se de que todas as solicitações que seus arquivos JS executam sejam localhost:8070 , ou seja, seu nginx. Dessa forma, todas as respostas receberão o cabeçalho adequado.

    
por 05.05.2017 / 16:36