nginx限制客户端ip访问使用的模块是ngx_http_access_module,这个模块可以进行nginx限制客户端ip访问。
nginx访问限制也可以用用户名密码认证来实现。同时限制客户端ip访问和需要用户名密码认证,需要使用指令statisfy
1、配置示例
location / {
allow 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/16;
allow 2001:0db8::/32;
deny all;
}
规则按顺序检测,至道第一个匹配的规则出现。在这个例子中,只允许IPV4的10.1.1.0/16和192.168.1.0/24中出去192.168.1.1及IPV6中的2001:0db8::/32来访问,其他的客户端ip访问都是不允许的。
为了预防有太多的规则,使用模块ngx_http_geo_module是更可取的。
其配置可以参考nginx中文网 http://www.nginx.com.cn/?cat=34