nginx拒绝或允许指定IP,是使用模块HTTP访问控制模块(HTTP Access).
控制规则按照声明的顺序进行检查,首条匹配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网络段访问这个location字段,但192.168.1.1是个例外。
注意规则的匹配顺序,如果你使用过apache你可能会认为你可以随意控制规则的顺序并且他们能够正常的工作,但实际上不行。
下面的这个例子将拒绝掉所有的连接:
location / {
#这里将永远输出403错误。
deny all;
#这些指令不会被启用,因为到达的连接在第一条已经被拒绝
deny 192.168.1.1;
allow 192.168.1.0/24;
allow 10.1.1.0/1
}