HTTP访问控制模块(HTTP Access)


·摘要

这个模块提供简单的基于主机的访问控制。
ngx_http_access_module这个模块可以详细的检查客户端IP,并且按顺序执行第一条匹配的规则。
如下例:
location / {
  deny    192.168.1.1;
  allow   192.168.1.0/24;
  allow   10.1.1.0/16;
  deny    all;
}
上面的例子中仅允许192.168.1.0/24和10.1.1.0/16网络段访问,但192.168.1.1是个例外。
如果要实施很多复杂的规则,那么最好使用GeoIP module模块。

·指令

allow

语法:allow [ address | CIDR | all ]
默认值:no
使用字段:http, server, location, limit_except
指令指定了允许访问的IP或网络段。

deny

语法:deny [ address | CIDR | all ]
默认值:no
使用字段:http, server, location, limit_except
指令指定了拒绝访问的IP或网络段。

·提示和技巧

HttpAccess模块可以和error_page指令搭配使用来重定向一个未经验证的访问请求。
error_page  403  http://example.com/forbidden.html;
location / {
  deny    192.168.1.1;
  allow   192.168.1.0/24;
  allow   10.1.1.0/16;
  deny    all;
}

·参考文档

Original Documentation
Nginx Http Access Module

前进->HTTP基本认证模块(HTTP Auth Basic)