您的位置:首页 > 运维架构 > Nginx

nginx基于IP访问控制

2018-09-03 15:38 876 查看
转载地址:http://shouce.jb51.net/nginx/StandardHTTPModules/HTTPAccess.html
·摘要

这个模块提供简单的基于主机的访问控制。
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或网络段。
实例如下:
第一个实例:设置拒绝192.168.64.136访问http://192.168.64.132/1.html,允许所有人可以访问。设置文件如下:



验证结果如下:



第二个实例:允许192.168.64.136访问http://192.168.64.132/1.html,拒绝所有人可以访问,设置文件如下:



验证效果,如下:



注意:每一次配置文件的修改都需要nginx -t 检查一下,并重载一下nginx.
如果你想添加多个允许主机IP,只要另起一行即可。
顺便提一下状态监控的情况,监控一般只要自己能访问就行了,可以这样设置:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息