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;
}
·参考文档