1、作用

黑名单能有效’防止某个 IP 恶意攻击’或者’拒绝特定 IP’的访问

​备注:这个功能是’http_access_module’模块提供的
Nginx 的 deny 和 allow 指令是’该模块’提供, Nginx 安装默认’内置了’该模块
==除非==在安装时有指定 ‘–without-http_access_module’

2、命令

allow

语法: allow address | ‘CIDR’ | unix: | all;
默认值: —
区块: http, server, location, limit_except
允许’某个 ip’或者’一个 ip 段’访问

deny

语法: deny address | ‘CIDR’ | unix: | all;
默认值: —
区块: http, server, location, limit_except

注意: 区块, 不同区块’作用范围’不一样

==deny 黑名单,allow 白名单,白名单 要写在 黑名单之前 才会起效==

3、使用

所有网站屏蔽 IP 的方法

核心: 放到’http{}'里面

deny 192.168.164.137;

结果:
注意: ip 限制访问导致’403’

单独网站屏蔽 IP 的方法

做法: 放到某一个’网站 location{}'的语句块中

location / {
  deny  172.25.2.200;   '禁止某个ip访问'
  allow 172.25.2.0/24;  '允许一个网段'
  allow 2001:0db8::/32; 'ipv6'
  deny  all;  # 禁止全部
}

限制某些目录下的某些文件的访问

具体可以’自己组合’ --> 禁止访问所有目录下的 ‘sql|log|txt|jar|sh|py’ 后缀的文件

location ~.*\.(sql|log|txt|jar|war|sh|py|php) {
	deny all;
}

其它方式

![[image-20230823234959779.png]]