当前位置: 代码网 > 服务器>服务器>Linux > Nginx屏蔽头部攻击实现方式

Nginx屏蔽头部攻击实现方式

2026年04月12日 Linux 我要评论
nginx屏蔽头部攻击 多ipnginx正则表达式:区分大小写匹配: ~不区分大小写匹配: ~*区分大小写不匹配: !~不区分大小写匹配: !~*nginx 地址重写rewrite语句格式rewrit

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 请求次数、

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com