nginx中文文档-ngx_http_access_module

本文介绍nginx的请求许可模块。

ngx_http_access_module模块允许通过地址限制客户端的访问权限。
访问权可以通过密码或子请求的方式进行限制。同时通过密码和地址限制访问使用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地址段192.168.1.0/24和10.1.1.0/16并且不包括192.168.1.1的客户端访问,只允许2001:0db8::/32段的IPv6地址客户端访问。为防止使用很多IP地址进行配置,可以用ngx_http_geo_module模块进行更好的配置。

allow

语法:allow address | CIDR | unix: | all;
默认:—
上下文:http, server, location, limit_except

定义一个网络或地址的可访问权限,如果使用unix:(1.5.1+),则允许所有UNIX-domain的socket连接

deny

语法:deny address | CIDR | unix: | all;
默认:—
上下文:http, server, location, limit_except

定义一个网络或地址的禁止访问权限,如果使用unix:(1.5.1+),则禁止所有UNIX-domain的socket连接