Nginx屏蔽头部攻击

Nginx屏蔽头部攻击 多IP

nginx正则表达式:
区分大小写匹配: ~
不区分大小写匹配: ~*
区分大小写不匹配: !~
不区分大小写匹配: !~*

nginx 地址重写:

rewrite语句格式
rewrite regex replacement flag;
flag: break、last、redirect、permanent
–last:停止执行其他重写规则,根据URI继续搜索其他location,地址栏不改变
–break:停止执行其他的重写规则,完成本次请求。
–redirect:302临时重定向,地址栏改变,爬虫不更新URI
–permanent:301永久重定向,地址栏改变,爬虫更新URI

location / {
			root html;
			index index.html index.htm;
			rewrite "/a.html$" /b.html;
	}

nginx域名跳转

www.a.com   --->  www.c.a.cn

server {
		listen 80;
		server_name www.a.com;
		location / {
					root html;
					index index.html index.htm;
					rewrite ^/(.*)  www.c.a.cn/$1;
		}
}

简单配置nginx.conf

server {
        listen       80;
        server_name  name1 name2;   ##name可以为域名或者ip
        if ($http_Host !~* ^name1|name2$)    ##name1和name2之间 连接符“|”无任何空格,有空格报错,如果是单域名(ip)省略“|name2”格式为“$http_Host !~* ^name1$”
        {
          return 403;
        }
        location ........
        }
nginx -s reload   ##重新加载配置文件

禁止非GET|HEAD|POST方式的抓取

详细

if ($request_method !~ ^(GET|HEAD|POST)$) {undefined

return 403;

}

禁止敏感信息泄露及点击劫持等

# 设置一个无效的值以避免触发真实的主机名
 server_name _;
 server_name_in_redirect off;
#不显示版本号 	 
 server_tokens off;
##添加配置,保证不缺失"Content-Security-Policy"头,当你有很多映射,代理,外网链接时慎用
add_header Content-Security-Policy "default-src 'self' ip:port 'unsafe-inline' 'unsafe-eval' blob: data: ;";   
###添加配置,保证不缺失"X-Content-Type-Options"头
 add_header X-Content-Type-Options nosniff;      
###添加配置,保证不缺失"X-XSS-Protection"头
 add_header X-XSS-Protection "1; mode=block";      
 ####添加配置,保证不点击劫持:X-Frame-Options头
add_header Strict-Transport-Security "max-age=***; includeSubdomains;";   
add_header  X-Frame-Options:DENY;  #"SAMEORIGIN"
add_header 'Referrer-Policy' 'origin'; 
add_header X-Download-Options noopen;
add_header X-Permitted-Cross-Domain-Policies none;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";

nginx限制ip并发连接和请求

nginx限制ip并发连接和请求有两个模块,不需要重新编译安装,nginx默认已经集成。
limit_req_zone  : 限制请求数
limit_conn_zone   :限制并发连接数

limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s;  
#zone:=one:10m :设置一个名字为one,大小为10M的缓存空间
#rate=10r/s: 限制访问速率,此处设置为每秒接受10个请求(nging里是按ms及时的,此处为s)

nginx压力测试

其他常见的压力测试软件:http_load、webbench、siege
ab -c 1 -n 10 http://192.168.174.11/    ##-c并发数 -n 请求次数、
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@王先生1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值