模块 ngx_http_access_module
允许限制某些IP地址的客户端访问。
也可以通过 密码来限制访问。 使用 satisfy 指令就能同时通过IP地址和密码来限制访问。
配置范例
location / { deny 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
允许访问。 在规则很多的情况下,使用 ngx_http_geo_module 模块变量更合适。
当然,以上都是官方文档
下面开始实操
这个机子上的192.168.6.118是本机的IP地址,192.168.17.0/24是虚拟机的网段,然后restart或者reload一下,浏览器输入www.nginx1.com,可以登录
查看登陆日志,可以看到登陆的地址明显不对
所以把这个过滤掉的修改为如下界面,然后reload一下
被禁止啦
可以看到17网段的其他机子可以正常访问