Node.js + Nginx Acesso-Controle-Permitir-Origem não funciona

1

Eu tenho uma API hospedada em api.mysite.com e um cliente em client.mysite.com . Agora do cliente eu recebo

XMLHttpRequest cannot load http://api.mysite.com/settings/find. Origin http://client.mysite.com is not allowed by Access-Control-Allow-Origin.

A API é construída em node.js (estrutura sailsjs) e o cliente em angular.js. O servidor da web é uma máquina nginx . Minha configuração vhost:

server {
    listen 0.0.0.0:80;
    server_name api.mysite.com;

    location / {
        add_header 'Access-Control-Allow-Origin' 'http://api.mysite.com';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
        add_header 'Access-Control-Allow-Headers' 'X-Requested-With,Accept,Content-Type, Origin';

        proxy_pass         http://127.0.0.1:1337/;
        proxy_redirect     off;

        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    }
}

Então, no navegador eu posso acessar minha API muito bem, porém quando eu acesso do cliente eu fico acima do erro. Como você pode ver, adicionei cabeçalhos relevantes ao vhost, mas ainda recebo o erro. Alguma idéia do que está errado?

    
por Lost in OWL 21.09.2013 / 14:15

1 resposta

1

Resolvi meu próprio problema. Substituído

add_header

com

proxy_set_header

:)

    
por 21.09.2013 / 14:31

Tags