nginx.conf配置文件做各种拦截
做的项目需要二级等保测试,各种奇葩的安全要求,基本都是在nginx实现的。特此记录下。
#user nobody;
worker_processes 1;
pid /var/log/nginx/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
client_max_body_size 2048M;
sendfile on;
keepalive_timeout 65;
server_tokens off;
server {
listen 80;
server_name 192.168.**.**;
if ($request_method !~* GET|POST) { #拦截除GET和POST外的所有请求
return 403;
}
if ($http_Host !~* ^192.168.**.**$) #拦截除192.168.**.**外的所有请求的host
{
return 400;
}
if ($request_uri ~ '\.\.\/'){ #请求的URL不能包含../,测试burp拦截路径并加上../也能请求成功。
return 400;
}
valid_referers none blocked 192.168.**.**;
if ($invalid_referer) { #拦截除192.168.**.**以外的所有请求的referer,
return 400;
}
set $origin_flag 0;
if ( $http_origin ~ http://192.168.**.**){
set $origin_flag "${origin_flag}1";
}
if ( $http_origin = ''){
set $origin_flag "${origin_flag}1";
}
if ($origin_flag != "01"){ #拦截除192.168.**.**以外的所有请求的Origin
return 400;
}
location /{
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /static{
set $flag 0;
if ($request_uri ~ \.(js|png)$ ){ #禁止把拦截到的JS文件和PNG文件用浏览器打开
set $flag "${flag}1";
}
if ($http_referer = ''){
set $flag "${flag}1";
}
if ($flag = "011"){
return 403;
}
root /usr/share/nginx/html;
index index.html index.htm;
}
location /abc {
proxy_pass http://192.168.**.**:8888/;
proxy_set_header X-Real-IP $remote_addr;
}
location /sgcc/aaa {
proxy_pass http://192.168.**.**:88888/aaa;
proxy_set_header X-Real-IP $remote_addr;
}
location /abc/bbb {
proxy_pass http://192.168.**.**:8888/bbb ;
proxy_set_header X-Real-IP $remote_addr;
}
location /abc/ccc{
proxy_pass http://192.168.**.**:8888/ccc;
proxy_set_header X-Real-IP $remote_addr;
proxy_intercept_errors on;
error_page 500 /50x.html;
}
location /abc/ddd {
proxy_pass http://192.168.**.**:8888/ddd ;
proxy_set_header X-Real-IP $remote_addr;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
nginx.conf配置文件做各种拦截相关推荐
- nginx.conf 配置文件详解
本文来说下nginx.conf 配置文件详解 文章目录 Nginx 配置文件概述 nginx.conf 配置文件 通用(这里是 windows 系统系 nginx1.14.2 下 nginx.conf ...
- 深入了解nginx.conf配置文件
前言: Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为"engine X",是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/S ...
- nginx.conf配置文件简单说明
nginx.conf配置文件简单说明 一,nginx主要部分介绍 二,nginx通用配置文件 常用指令说明 1,main全局配置: 2,http服务器: 3,模块http_proxy: 4,模块htt ...
- Nginx之nginx.conf 配置文件(二)
上一篇博客我们将 nginx 安装在 /usr/local/nginx 目录下,其默认的配置文件都放在这个目录的 conf 目录下,而主配置文件 nginx.conf 也在其中,后续对 nginx 的 ...
- Nginx(二)------nginx.conf 配置文件
上一篇博客我们将 nginx 安装在 /usr/local/nginx 目录下,其默认的配置文件都放在这个目录的 conf 目录下,而主配置文件 nginx.conf 也在其中,后续对 nginx 的 ...
- Nginx 源码分析-- 模块module 解析执行 nginx.conf 配置文件流程分析 一
搭建nginx服务器时,主要的配置文件 nginx.conf 是部署和维护服务器人员经常要使用到的文件, 里面进行了许多服务器参数的设置.那么nginx 以模块 module为骨架的设计下是如何运用模 ...
- 01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置
1.下载Nginx,进入Nginx下载地址:http://nginx.org/ 点击nginx-1.8.0,进入:http://nginx.org/en/download.html,下载文件: ...
- nginx.conf配置文件说明
今天拔了个牙,脑子有点涨不自己写了,转载点之前收藏的东西 nginx开发时常用到的,找哪些设置基本都在下面找挺全的,流传也很广了 隔壁老梁-博客园 #nginx进程,一般设置为和cpu核数一样 wor ...
- Nginx的nginx.conf配置文件中文注释说明
#运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 ...
最新文章
- 一些对制作网站有帮助的站点
- Setting composer minimum stability for your application
- 数据可视化实现技术(canvas/svg/webGL)
- Oracle 10g 问题集锦
- matlab axis 用法,MATLAB中regionprops的用法
- python获取excel数据进行判断输出结果到excel,如何使用python xlrd/xlwt从一个excel工作簿提取数据并输出到另一个excel工作簿?...
- php和ajax实现聊天功能,怎么在PHP项目中使用jquery与ajax实现一个即时聊天功能
- system v 消息队列(二)
- 如何在 Mac 上的“终端”中执行命令和运行工具?
- x61 linux 驱动下载,ThinkPad T61/X61换XP系统及驱动下载
- 【板栗糖GIS】GIS如何导出obj格式的建筑白膜数据
- cdrx4自动排版步骤_coreldraw x4怎么排版 coreldraw书册杂志的排版方法 - 电脑常识 - 服务器之家...
- ps安装了可以打开但开始里面找不到_PS CC2017安装教程【64/32位】
- ecshop微信登录php代码,Ecshop实现微信第三方授权扫码登录
- 虚拟机安装专用win7系统教程简单易懂
- 计算机专业的求职信英文版带翻译,[求职信英语作文带翻译]求职信的英语作文4篇...
- 中译英提升:准译员如何“假装”自己很地道?丨打死个翻译官2.4
- md魂斗罗机器人c弹锁定_史上最细节机器人勾C/防勾指南
- iOS开发者账户密码修改流程
- mybatis-plus报错There is no getter for property named ‘null‘ in ‘xx‘和Could not set property ‘XXX‘ of ‘