Nginx location 中如何基于upstream应用中的请求头是否存在来做不同处理
背景
后端代码中对部分接口做了处理 支持跨域请求
@CrossOrigin(allowCredentials = "true")
但是后面又有新的接口 需要支持跨域 故为了方便起见 直接在Nginx层统一支持
add_header Access-Control-Allow-Origin $http_origin;
这样配置后 虽然新接口OK了 但是之前代码中已经显式支持跨域的接口就用不了了
The 'Access-Control-Allow-Origin' header contains multiple values 'https://foo.com, https://foo.com', but only one is allowed.
问:
Nginx location 中怎么动态添加Access-Control-Allow-Origin呢
即
location /api {
proxy_pass xxx;
if (Access-Control-Allow-Origin not exists ) {
add_header Access-Control-Allow-Origin $http_origin;
}
}
注:
Nginx 版本
nginx version: nginx/1.4.7
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
if ($http_Access_Control_Allow_Orign = '')