nginx 配置跨域失效修复

本文探讨了nginx配置跨域时遇到的问题,指出在post请求中,浏览器会先发送options预检请求,如果后端未处理options请求会导致403错误。解决方案是nginx配置中处理options请求,使其直接返回200状态码。同时,文章还分享了一个关于proxy_pass使用的小知识点,解释了加或不加斜杠对反向代理路径的影响。
摘要由CSDN通过智能技术生成

nginx 配置跨域不生效 如下配置

server {
        listen       80;
        server_name  localhost;
        
        # 接口转发
        location /api/ {
            # 允许请求地址跨域 * 做为通配符
            add_header 'Access-Control-Allow-Origin' '*';
            # 设置请求方法跨域
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';
            # 设置是否允许 cookie 传输
            add_header 'Access-Control-Allow-Credentials' 'true';
            # 设置请求头 这里为什么不设置通配符 * 因为不支持
            add_header 'Access-Control-Allow-Headers' 'Authorization,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,X-Data-Type,X-Requested-With,X-Data-Type,X-Auth-Token';
            # 设置反向代理 
            proxy_pass 127.0.0.1:8081/;
        }
 }
  • 网上的 nginx 跨域配置主要是以上版本,然而很多都是抄一抄,并没有真的去实践,故写了下文章提醒下有需要的人,不要盲目抄,学会分析。

nginx 修改如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值