首页 > 系统相关 >Nginx配置origin限制跨域请求

Nginx配置origin限制跨域请求

时间:2022-12-16 17:37:13浏览次数:38  
标签:origin http 跨域 header cros Nginx 请求

Nginx需要修复一个安全漏洞

 

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

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

map $http_origin $allow_cros {
    "~^(https?://(dmp.xxxxxx.cn)?)$" 1;
    "~*" 0;
}

上述规则中,如果orgin的值为https://dmp.xxxxxx.cn,我们认为是合法的请求,返回数值1,如果是其它值,返回数值0

2、在server中根据$allow_cros的值进行请求拦截

if ($allow_cros = 0){
     return 403;
}

3、在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";

 

验证

 

指定合法 origin时,请求正常

 ------------------------------------------------------------------------------------------------------

不指定 origin时,请求正常

 ------------------------------------------------------------------------------------------------------

 

 指定非法origin时,请求返回403

 

标签:origin,http,跨域,header,cros,Nginx,请求
From: https://www.cnblogs.com/justtosee/p/16987894.html

相关文章

  • Nginx + Memcached + Tomcat 集群 session 共享
    一、Tomcat的配置安装既然是要集群,那自然不可能是一个Tomcat咯。将tomcat的安装包apache-tomcat-6.0.35-windows-x86解压到X:/(这个路径可以自定义),重命名加压目录,我将这个......
  • [C#] Asp.net Core SignalR 跨域设置
    参考:https://blog.csdn.net/hefeng_aspnet/article/details/117777995?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7E......
  • nginx服务器http重定向到https的正确写法
    rewrite^/(.*)$http://domain.com/$1permanent;或者rewrite^http://domain.com$request_uri?permanent;现在nginx新版本已经换了种写法,上面这些已经不再推荐。现在......
  • 项目管理软件Redmine+Ruby+Passenger+Nginx的安装
    Redmine是一个开源的、基于Web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示,同时它又支持多项目管理。这里博主想用它来记录个人工作中碰到的问题和......
  • Nginx学习总结(1):Nginx简介
    (最近,部门组织了好几个技术兴趣小组,对当前的热门技术进行研究。我加入了Nginx学习小组,与几个同事一道围绕Nginx来进行研究和学习。从今天起,我会陆陆续续发一系列有关Nginx的......
  • 【Nginx】使用certbot安装免费https证书使Nginx支持Https请求
     certbot官网:https://certbot.eff.org/lets-encrypt/centosrhel7-nginx一、安装步骤1)安装certbot,执行 sudoyuminstallcertbotpython2-certbot-nginx2)检查是......
  • linux CentOS Nginx 删除/查看定时任务列表命令 crontab命令文件位置(自动备份)
    教程:​​​​​​CentOSNginxcrontab定时任务每小时备份一次命令(删除5天以前某个后缀的文件)_我是高手高手高高手的博客-博客_centos每小时CentOSNginxcrontab定......
  • nginx客户端真实IP配置
    https://www.cnblogs.com/kevingrace/p/8269955.html    ......
  • nginx 启用HTTPS经历
    背景环境Linux环境前端后端分离,但是部署在同一个服务器上前端angular后端Java腾讯云服务器nginx关键配置在http下添加server{listen80;server......
  • nginx入门
    1.nginx基本概念1.1nginx是什么,做什么事情nginx是高性能的HTTP和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验。有报告表明能支持高达50,000个......