访问控制#
该模块根据客户端的IP地址或网络控制对服务器资源的访问。它允许允许或阻止特定的IP地址、IP范围或UNIX域套接字,通过限制对网站或应用程序敏感区域的访问来增强安全性。
访问还可以通过使用 Auth Basic 模块的密码或基于使用 Auth Request 模块的子请求结果来限制。要同时应用地址和密码限制,请使用 satisfy 指令。
配置示例#
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
规则按顺序进行评估,直到找到匹配项。在此示例中,仅允许IPv4网络 10.1.1.0/16
和 192.168.1.0/24
的访问,排除特定地址 192.168.1.1
,以及IPv6网络 2001:0db8::/32
的访问。当有多个规则时,建议使用 Geo 模块的变量。
指令#
allow#
允许指定网络或地址的访问。
特殊值 all
表示所有客户端IP。
Added in version 1.5.1: 特殊值 unix:
允许对任何UNIX域套接字的访问。
deny#
拒绝指定网络或地址的访问。
特殊值 all
表示所有客户端IP。
Added in version 1.5.1: 特殊值 unix:
拒绝对任何UNIX域套接字的访问。