访问控制#

该模块根据客户端的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/16192.168.1.0/24 的访问,排除特定地址 192.168.1.1,以及IPv6网络 2001:0db8::/32 的访问。当有多个规则时,建议使用 Geo 模块的变量。

指令#

allow#

Syntax

allow address | CIDR | unix: | all;

默认值

Context

http, server, location, limit_except

允许指定网络或地址的访问。 特殊值 all 表示所有客户端IP。

Added in version 1.5.1: 特殊值 unix: 允许对任何UNIX域套接字的访问。

deny#

Syntax

deny address | CIDR | unix: | all;

默认值

Context

http, server, location, limit_except

拒绝指定网络或地址的访问。 特殊值 all 表示所有客户端IP。

Added in version 1.5.1: 特殊值 unix: 拒绝对任何UNIX域套接字的访问。