Access#

该模块基于客户端 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#

语法

allow address | CIDR | unix: | all;

默认值

上下文

http, server, location, limit_except

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

特殊值 unix: 允许任何 UNIX 域套接字的访问。

deny#

语法

deny address | CIDR | unix: | all;

默认值

上下文

http, server, location, limit_except

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

特殊值 unix: 拒绝任何 UNIX 域套接字的访问。