Node.js + Nginx Access-Control-Allow-Origin 不起作用

Node.js + Nginx Access-Control-Allow-Origin 不起作用

我在 上托管了一个 API api.mysite.com,在 上有一个客户端client.mysite.com。现在我从客户端获取

XMLHttpRequest 无法加载 http://api.mysite.com/settings/find。Access http://client.mysite.com-Control-Allow-Origin 不允许来源。

API 是基于 node.js(sailsjs 框架)构建的,客户端是基于 angular.js 构建的。Web 服务器是一个nginx机器。我的 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;
    }
}

因此,在浏览器中我可以很好地访问我的 api,但是当我从客户端访问它时,我得到了上述错误。如您所见,我向 vhost 添加了相关标头,但我仍然收到错误。有什么想法吗?

答案1

解决了我自己的问题。替换

add_header

proxy_set_header

:)

相关内容