nginx: http_access_module

陪她去流浪 桃子 2015年04月17日 编辑 阅读次数:2382

ngx_http_access_module 模块根据IP地址限定客户端的访问权限。
定义的规则将按顺序执行检查,直到该模块的某条指令的条件被满足为止。
访问权限同样也可以通过 密码(password)子请求结果(result of subrequest) 来限制。
如果要同时通过密码和地址来限定,则可以使用 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;
}
该例中:
  1. 允许除 192.168.1.1 之外的 IPv4网络地址 10.1.1.0/16192.168.1.0/24 访问。
  2. 允许 IPv6网络地址 20001:0db8::/32 访问。
  3. 其它均不允许。
如果有许多的规则要定义,优先考虑使用 ngx_http_geo_module 模块。

指令

语法allow address | CIDR[?] | unix: | all;
默认 
环境http, server, location, limit_except

允许指定的网络或地址访问。

如果指定了特殊值“unix:”,将允许所有UNIX域套接字访问。(1.5.1)

语法deny address | CIDR | unix: | all;
默认 
环境http, server, location, limit_except

拒绝指定的网络或地址的访问权限。

如果指定了特殊值“unix:”,将拒绝所有UNIX域套接字访问。(1.5.1)

标签:nginx