deny
deny指令的作用和allow指令相反,它用于设置禁止访问Nginx的客户端IP,语法结构为:
address:禁止访问的客户端的IP,不支持同时设置多个。如果有多个IP需要设置,需要重复使用deny指令。
CIDR:禁止访问的客户端的CIDR地址,例如202.80.18.23/25,前面是32位IP地址,后面“/25”代表该IP地址中前25位是网络部分,其余位代表主机部分。
all:代表禁止所有客户端访问。
这个指令可以在http块、server块或者location块中配置
在上面的配置示例中我们首先配置禁止192.168.1.1访问Nginx,然后配置允许192.168.1.0/24访问Nginx,最后又使用all配置禁止所有IP的访问。那么,192.168.1.0/24客户端到底可不可以访问呢?
是可以的。Nginx配置在解析的过程中,遇到deny指令或者allow指令是按照顺序对当前客户端的连接进行访问权限检查的。如果遇到匹配的配置时,则停止继续向下搜索相关配置。因此,当192.168.1.0/24客户端访问时,Nginx在第3行解析配置发现允许该客户端访问,就不会继续向下解析第4行了。
Last updated
Was this helpful?