nginx作为正向和反向代理服务器中设置IP白名单/黑名单
				
									
					
					
						|  | 
							admin 2025年6月28日 22:26
								本文热度 1438 | 
					
				 
				- nginx中ngx_http_access_module模块能够按客户端地址设置是否有访问权限。 
- allow指令设置允许访问的IP或网络,如- allow 172.17.0.8;、- allow 172.17.0.0/16;
 
- deny指令设置限制访问的IP或网络,如- deny 172.17.0.8;、- deny 172.17.0.0/16;
 
- allow和- deny这两个指令都可以配置在- http, server, location, limit_except块中。
 
- 一个配置块中如果配置了多个- allow或- deny指令,按先后顺序逐条匹配,第一个匹配成功的规则立即生效不会再检查后面的规则。
 
- 如何检查规则是否匹配:请求的客户端的IP与allow或deny指令后的IP/网络是否匹配。 
- 如以下配置中:172.17.0.8不能访问,172.17.0.0/16网络中的其它地址都能访问。因为来自172.17.0.8的请求匹配到第一条规则- deny 172.17.0.8;后禁止访问。而172.17.0.7能够访问是因为allow 172.17.0.0/16;规则生效。allowallow 172.17.0.0/16;
 - server {
 listen 8366;
 location / {
 deny  172.17.0.8;
 allow 172.17.0.0/16;
 deny  all;
 root  html;
 index index.html index.htm;
 }
 }
 
   
- 修改以上配置,将第一、二条规则交换顺序后,172.17.0.8可以访问。因为第一条规则- allow 172.17.0.0/16;匹配成功后不会再往后执行- deny 172.17.0.8。
 - server {
 listen 8366;
 location / {
 allow 172.17.0.0/16;
 deny  172.17.0.8;
 deny  all;
 root  html;
 index index.html index.htm;
 }
 }
 
 
阅读原文:原文链接
该文章在 2025/7/1 23:43:04 编辑过