vue 静态页面在浏览器跨域 options 请求时,会返回多个 Access-Control-Allow-Origin header 问题

2019-03-21 17:45:30 +08:00
 awker

vue 静态页面部署在 http://dev.xxx.cn ,其中有页面会请求 http://foo.xxx.cn ,这时候在浏览器看到 options 请求报错为

Access to XMLHttpRequest at 'http://foo.xxx.cn/upload/8b' from origin 'http://dev.xxx.cn' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The 'Access-Control-Allow-Origin' header contains multiple values 'http://dev.xxx.cn, *', but only one is allowed.

但我 nginx 端只设置了 一个 Access-Control-Allow-Origin

add_header 'Access-Control-Allow-Origin' '*'

后端服务也没有设置 Access-Control-Allow-Origin,

有大神遇到过这个问题吗?

5213 次点击
所在节点    程序员
1 条回复
awker
2019-03-21 21:19:03 +08:00
找到问题了 http://dev.xxx.cnhttp://foo.xxx.cn 放在同一台 nginx,所以会出现这个问题。
http://foo.xxx.cn 或者 http://dev.xxx.cn 放在另外一台 nginx 就行了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/547106

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX