Nginx设置白黑IP名单

本文介绍如何在Nginx中配置IP黑白名单,包括创建黑名单和白名单文件,设置IP屏蔽规则,以及如何重启Nginx使配置生效。同时,提供了多种IP屏蔽和允许的示例,如屏蔽特定IP、IP段,以及只允许指定IP访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

Nginx设置白黑IP名单

**
在Nginx的conf目录创建black.ip文件(文件名自定义),内容如下

#IP黑名单
deny 103.218.216.108;
deny 103.218.216.103;
#IP白名单
allow 112.112.112.112;
allow 113.113.113.113;

将black.ip引入到nginx.conf

http {
    include black.ip;  #黑名单
    ...
    ...
}

重启Nginx

nginx -s reload

其他DEMO

#屏蔽所有ip
deny all; 
#允许所有ip
allow all; 
#屏蔽整个段:从123.0.0.1到123.255.255.254
deny 123.0.0.0/8;
#屏蔽IP段:从123.45.0.1到123.45.255.254
deny 123.45.0.0/16;
#屏蔽IP段:从123.45.6.1到123.45.6.254
deny 123.45.6.0/24;

IP后面的数字含义

24表示子网掩码:255.255.255.0
16表示子网掩码:255.255.0.0
8表示子网掩码:255.0.0.0

#只允许指定IP访问,其他全部拒绝
allow 112.112.112.112;
allow 113.113.113.113;
deny all;

注意

单服务器设置,把include放到对应的server块
server {
    include black.ip;  #黑名单
    ...
    ...
}
全局设置,把include放到http块
http {
    include black.ip;  #黑名单
    ...
    ...
}
Nginx设置IP名单通常是为了限制只有特定IP地址或IP地址范围的请求才能访问服务器资源。这有助于增强安全性,防止未授权的访问。以下是在Nginx配置文件(如`nginx.conf`)中设置IP名单的基本步骤: 1. **创建白名单文件**: 首先,你可以创建一个文本文件(例如`whitelist.txt`),列出所有允许的IP地址。 2. **配置Nginx**: 打开Nginx的主配置文件,在server块里添加一个新的location配置,并指定使用`proxy_protocol on;`启用代理协议,这样可以读取原始客户端IP地址。然后,使用`proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;`设置真实IP头部信息,以获取客户端IP。 ```nginx location / { if ($proxy_protocol_addr !~ whitelist.txt) { return 403; # 返回禁止访问错误 } ... } ``` 这里,我们使用`if`条件判断`$proxy_protocol_addr`是否存在于`whitelist.txt`文件中,如果不是,则返回403 Forbidden错误。 3. **更新白名单文件**: 每次需要添加新的IP地址时,只需将其追加到`whitelist.txt`文件中,重启Nginx使其应用新的规则。 请注意,这不是一个完整的配置示例,实际部署时可能需要根据你的需求调整配置,并考虑其他安全措施,比如使用正则表达式匹配IP范围。另外,如果你的IP列表很长,这种方法可能会变得复杂且管理起来不方便,这时可以考虑使用防火墙、负载均衡等更专业的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值