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

2023-12-07 0 779

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

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

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

漏洞复现

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

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

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

修复办法

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

http {

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

验证方法

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

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

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

到此这篇关于Nginx配置origin限制跨域请求的文章就介绍到这了,更多相关Nginx限制跨域请求内容请搜索悠久资源以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Nginx服务器 Nginx配置origin限制跨域请求的详细过程 https://www.u-9.cn/server/nginx/114242.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务