摘要
HTTP Access模块提供了一个简单的基于host名称的访问控制。通过该模块,可以允许或禁止指定的IP地址或IP地址段访问某些虚拟主机或目录
allow指令
语法:allow [address|CIDR|all]
使用环境:http,server,location
作用:允许指定的IP地址或IP地址段访问某些虚拟主机或目录
deny指令
语法:deny [address|CIDR|all]
使用环境:http,server,location
作用:禁止指定的IP地址或IP段访问某些虚拟主机或目录
匹配规则
控制规则按照声明的顺序进行检查,首条匹配IP的访问规则将被使用
演示用例
location / {
deny 192.168.1.1;
allow 192.168.1.0/24;
deny all;
}
解释:
1.禁止192.168.1.1这个ip地址访问
2.允许192.168.1.0/24这个地址段的ip访问,但是由于192.168.1.1首先匹配deny,因此192.168.1.1是无法访问的
3.当ip地址不匹配1,2两条规则时,将禁止所有的ip地址访问
与apache访问规则区别
使用过apache的同学应该知道,可以通过控制规则的顺序并使他们能够正常的工作(ps:我本身觉得这个设计好傻逼,很容易就把人搞晕了),但是在nginx里面是不可以的,因为nginx匹配规则是首次匹配ip成功后及被使用
location / {
#这里将永远是403
deny all;
#下面的规则不会被启用,因为到达的连接在第一条规则上已经被拒绝了
allow 192.168.1.0/24;
allow 10.99.8.1;
}
转载自:http://blog.youkuaiyun.com/wzy_1988/article/details/8185336
理解HTTPAccess模块的访问控制规则
本文详细介绍了HTTPAccess模块提供的基于host名称的访问控制功能,包括允许和禁止特定IP地址或IP地址段访问虚拟主机或目录的实现方式。通过实例演示了如何设置访问规则,并对比了与Apache访问规则的不同之处。
1684

被折叠的 条评论
为什么被折叠?



