在nginx中配置跨域失效如何解决
发表于:2025-01-30 作者:千家信息网编辑
千家信息网最后更新 2025年01月30日,这篇文章给大家介绍在nginx中配置跨域失效如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。nginx 配置跨域不生效 如下配置server { listen 80;
千家信息网最后更新 2025年01月30日在nginx中配置跨域失效如何解决
这篇文章给大家介绍在nginx中配置跨域失效如何解决,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
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 修改如下配置后生效
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'; # 设置 options 请求处理 if ( $request_method = 'OPTIONS' ) { return 200; } # 设置反向代理 proxy_pass 127.0.0.1:8081/; } }
两者代码区别 主要就是下面这行代码
if ( $request_method = 'OPTIONS' ) { return 200;}
因为 post 请求 浏览器会发送一个 options 的预检请求,主要将本次的请求头 发送给服务端,若服务端允许,再发送真正的post请求,所以 f12 看到,经常 post 会发送两次请求。因为后端 java 代码没有对 options 请求做出处理,导致 options 接口请求的时候,报 403 forbidden , 这里 nginx 对 options 的请求直接返回 200,不用到达接口层,直接允许 post 响应头,即可使得上述失效配置能够生效
附赠 一个小知识点
proxy_pass 127.0.0.1:8081/;
针对反向代理里面这个/ 加不加的问题;
访问 http://localhost/api/user/login;
加/ 则 实际访问的是 127.0.0.1:8081/user/login;
不加 / 则实际访问的是 127.0.0.1:8081/api/user/login;
关于在nginx中配置跨域失效如何解决就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
配置
接口
通配符
代码
代理
内容
地址
实际
文章
方法
更多
知识
传输
处理
帮助
支持
服务
不错
下有
不用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华硕服务器能用多长时间
ktv收银服务器插u盘有用吗
网络安全手抄报小学三年级
mysql 数据库推送
未成年人网络安全法律问题
网络安全的责任主体是什么
金蝶服务器未启动
软件开发人员能力素质模型
备份 数据库
南京论之语网络技术怎么样
csgo个人服务器换图
春考计算机网络技术技能测试
网络安全设备运行巡检台账
海淀区品质软件开发价目表
四川帝坤互联网科技有限公司
5g网络技术弱电一枝花
关于网络安全简单漂亮的手抄报
怎么找到电脑安装的数据库
飞机数据库查信息
思科网络技术学校书籍
小白续航最新数据库
阿里云棋牌游戏服务器
rtmfp服务器
通用网络安全技术分类
维护网络安全的创新手段
广东微信小程序软件开发
网络安全实验包过滤
服务器硬盘背板 接线
中转ip服务器怎么连接
国资委网络安全发文