欢迎来到站长天空!

其它服务器

当前位置: 主页 > 服务器 > 其它服务器

Nginx配置origin限制跨域请求的详细过程

时间:2025-12-10 22:30:02|栏目:其它服务器|点击:

按照等保要求,跨域的不安全性,需要修复。

这个需要根据客户端传递的请求头中的Origin值,进行安全的跨站策略配置,目的是对非法的origin直接返回403错误页面。

漏洞复现

复现方式为在%20Header%20中指定%20Origin%20请求头,看是否可以请求成功。

能够请求成功,说明未对请求头进行控制,有漏洞。

curl-H'Origin:http://test.com'http://192.168.15.32:80

修复办法

在http中定义一个通过map指令,定义跨域规则并返回是否合法

http%20{ %20%20%20%20... %20%20%20%20//%20再白名单里边返回0,不在返回1 %20%20%20%20map%20$http_origin%20$allow_cors%20{ %20%20%20%20%20%20%20%20default%201; %20%20%20%20%20%20%20%20"~^https?://.*?\.tripwolf\.com.*$"%201; %20%20%20%20%20%20%20%20"~^(https?://(dmp.finerice.cn)?)$"%201; %20%20%20%20%20%20%20%20"~*"%200; %20%20%20%20} %20%20%20%20server%20{ %20%20%20%20%20%20%20%20#%20指定允许其他域名访问%20%20%20%20%20%20%20%20 %20%20%20%20%20%20%20%20add_header%20Access-Control-Allow-Origin%20$http_origin; %20%20%20%20%20%20%20%20#%20允许的请求类型 %20%20%20%20%20%20%20%20add_header%20Access-Control-Allow-Methods%20GET,POST,OPTIONS; %20%20%20%20%20%20%20%20#%20许的请求头字段 %20%20%20%20%20%20%20%20add_header%20Access-Control-Allow-Headers%20"Origin,%20X-Requested-With,%20Content-Type,%20Accept"; %20%20%20%20%20%20%20%20location%20/%20{ %20%20%20%20%20%20%20%20%20%20%20%20#%20进行请求拦截 %20%20%20%20%20%20%20%20%20%20%20%20if%20($allow_cors%20=%200){ %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20403; %20%20%20%20%20%20%20%20%20%20%20%20} %20%20%20%20%20%20%20%20%20%20%20%20root%20/mnt/data; %20%20%20%20%20%20%20%20} %20%20%20%20} }

验证方法

通过POSTMAN进行请求模拟,配置不同的Origin,查看返回结果。

如果不需要跨域,则直接清理掉add_headerAccess-Control-Allow-Origin等相关配置,就不这么复杂了。

上一篇:Linux 命令 systemctl 基本介绍和常用选项

栏    目:其它服务器

下一篇:docker commit命令的具体使用

本文标题:Nginx配置origin限制跨域请求的详细过程

本文地址:https://zz.feitang.co/server/29945.html

广告投放 | 联系我们 | 版权申明

申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:257218569 | 邮箱:257218569@qq.com

Copyright © 2018-2025 站长天空 版权所有 Powered by EyouCms冀ICP备14023439号