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连接