Nginx跨域设置无效,同环境一个正常一个不起作用?

发布于 2022-09-11 23:13:54 字数 543 浏览 17 评论 0

A服务器Nginx1.8,宝塔面板7.01,前端vue、axios

B服务器Nginx1.9,宝塔面板7.02,前端vue、axios

A服务器Nginx设置

add_header Access-Control-Allow-Origin * always;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS' always;
add_header Access-Control-Allow-Headers * always;

B服务器同样设置却不起作用

360截图20191030115752938.jpg

微信图片_20191030134719.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

空城仅有旧梦在 2022-09-18 23:13:54

尽量别用通配符,不是所有情况下都支持通配符的,直接返回请求者所在域就好了,nginx 里提供了环境变量 $origin 表示这个值。

add_header 'Access-Control-Allow-Origin' $origin;
add_header 'Access-Control-Allow-Methods' #看着加;
add_header 'Access-Control-Allow-Headers' #看着加;

if ($request_method = 'OPTIONS') {
    return 204;
}

另外截图没截全,贴一下出错的响应头部分。

素染倾城色 2022-09-18 23:13:54

安全起见不建议把跨域设置配置在服务器的nginx配置文件中,建议把add_header()放到接口请求的代码层里。至于这三行就不说了,搜索随便搜都能出来。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文