Nginx反向代理后还是提示跨域会是什么问题?
1、百度上看到很多用反向代理解决跨域的例子自己也试了下,结果axios.get还是提示跨域,不知道是什么问题。
2、代理正常
访问接口:
http://demo.xxxx.cn:12306/api/cross/test1.php?method=get
Nginx配置:
location ^~ /api/{
proxy_pass http://127.0.0.1:12306/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
因为你的nginx没加CORS头,被代理的机器也没有CORS头,提示跨域正常
nginx加一下
因为还是跨不同域啊。
你要理解为什么会产生跨域。
跨域最重要的点是你要访问的站点不是你的,
如果是你站长的话直接去那个站点配置CORS(或者jsonp)就行了。
无论是CORS还是jsonp,都是要服务端支持的。
就因为站点不是你的,无法配置。所以才要设置代理。
而代理站是你自已的所以可以设置CORS。这样就解决了跨域问题。
假设,你本地访问页面地址
http://127.0.0.1:12306/index.html
,去调接口http://demo.xxxx.cn:12306/api/cross/test1.php?method=get
。那Nginx配置:
希望没有暴露我的愚蠢……