vue Nginx配置cros跨域以及遇到401响应的问题

作者: cayman 分类: 编程技术 发布时间: 2020-04-03 10:44

现在大多数web程序都使用了 前后端分离 都会使用在nginx 配置跨域 请求头

类似下面代码:

add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

但是当服务器返回 登录错误 401 500 的错误时候 直接显示跨域拦截

原来 nginx转发server响应的过程中,add_header只有在200,201,204,206,301,302,303,304,307状态码时会添加,而401、500,都没有添加

解决方案 add_header最后加上always

add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type' always;

发表评论

电子邮件地址不会被公开。 必填项已用*标注