我有api.mysite.com托pipe的api和client.mysite.com上的客户端。 现在从客户端我得到
XMLHttpRequest无法加载
http://api.mysite.com/settings/find。 Access-Control-Allow-Origin不允许访问原始http://client.mysite.com。
api基于node.js(sailsjs框架)和angular.js上的客户端。 networking服务器是一个nginx机器。 我的虚拟主机configuration:
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,但是当我从客户端访问它时,我得到以上错误。 正如你所看到的,我添加了相关的头文件到虚拟主机,但我仍然得到错误。 任何想法什么是错的?
解决了我自己的问题。 更换
add_header
同
proxy_set_header
🙂