Nginx如何设置拒绝或允许指定ip访问

时间:2023-03-09 19:39:10
Nginx如何设置拒绝或允许指定ip访问
location ~ /druid/ {
#deny 192.168.1.1;
allow 192.168.1.1;
deny all;
proxy_pass http://127.0.0.1:8080;
}

nginx拒绝或允许指定IP,是使用模块HTTP访问控制模块(HTTP Access).
控制规则按照声明的顺序进行检查,首条匹配IP的访问规则将被启用。

location / {
deny 192.168.1.1;
allow 192.168.1.0/;
allow 10.1.1.0/;
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/;
allow 10.1.1.0/
}