Nginx屏蔽头部攻击实现方式

 更新时间:2026年04月12日 10:22:23   作者:@王先生1  
文章主要介绍了Nginx屏蔽头部攻击、正则表达式匹配、地址重写、禁止非安全请求、限制IP并发连接和请求数量,以及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 请求次数、

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 详解Nginx反向代理和负载均衡部署指南

    详解Nginx反向代理和负载均衡部署指南

    本篇文章主要介绍了Nginx反向代理和负载均衡部署指南 ,具有一定的参考价值,对学习Nginx的同学有一定的帮助,感兴趣的同学可以了解一下。
    2016-12-12
  • 详解nginx高并发场景下的优化

    详解nginx高并发场景下的优化

    这篇文章主要介绍了详解nginx高并发场景下的优化,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • Nginx配置入门教程

    Nginx配置入门教程

    这篇文章主要介绍了Nginx配置入门教程,本文讲解了反向代理的概念、初始配置、进阶配置、负载均衡配置等内容,需要的朋友可以参考下
    2015-02-02
  • nginx生成自签名SSL证书配置HTTPS的实现

    nginx生成自签名SSL证书配置HTTPS的实现

    本文主要介绍在Nginx中生成自签名SSL证书并配置HTTPS,包括安装Nginx、创建证书、配置证书以及测试访问,具有一定的参考价值,感兴趣的可以了解一下
    2025-03-03
  • 一文了解nginx HTTP安全响应问题

    一文了解nginx HTTP安全响应问题

    一些网站系统会经常遭到各类XSS攻击、点劫持等,从而造成重要信息的泄露以及服务器安全问题,本文就来介绍一下,感兴趣的可以了解一下
    2023-11-11
  • Nginx防盗链的3种方法

    Nginx防盗链的3种方法

    Nginx防盗链的3种方法,需要的朋友可以参考下。
    2010-12-12
  • 使用 nginx 搭建代理服务器(正向代理 https 网站)的详细步骤

    使用 nginx 搭建代理服务器(正向代理 https 网站)的详细步骤

    这篇文章主要介绍了使用 nginx 搭建代理服务器(正向代理 https 网站)指南的相关操作,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • windows下Nginx多域名简单配置教程

    windows下Nginx多域名简单配置教程

    这篇文章主要为大家详细介绍了windows下Nginx多域名简单配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 图文详解Nginx版本平滑升级方案

    图文详解Nginx版本平滑升级方案

    Nginx平滑升级就是指在不停止业务的前提下,实现对Nginx软件版本的升级,下面这篇文章主要给大家介绍了关于Nginx版本平滑升级方案的相关资料,需要的朋友可以参考下
    2021-09-09
  • 解决nginx:[emerg] getpwnam(“nginx“)failed报错问题

    解决nginx:[emerg] getpwnam(“nginx“)failed报错问题

    编译安装nginx时,启动服务报错nginx:[emerg]getpwnam("nginx")failed,原因是没有为nginx创建用户,解决方法是创建一个nginx用户,该用户是你在编译时指定的用户
    2025-02-02

最新评论