Fork me on GitHub

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/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
}

 

posted @ 2016-04-11 10:26  秋楓  阅读(5493)  评论(0编辑  收藏  举报