龙空技术网

Nginx中想对IP做访问限制怎么做?access模块来帮忙-09

码上读书 312

前言:

此时兄弟们对“nginx获取真实ip判断”大约比较珍视,同学们都需要知道一些“nginx获取真实ip判断”的相关资讯。那么小编也在网摘上收集了一些有关“nginx获取真实ip判断””的相关知识,希望咱们能喜欢,看官们快快来了解一下吧!

在一个请求闯过之前的postread阶段,rewrite阶段,find_config阶段,preaccess阶段后终于来到了Access阶段了。

Access阶段主要就是控制请求是否可以继续向下访问的。

在这个阶段第一个要经过的就是Access模块。

想对IP 进行访问控制?可以在Access模块 控制哪些IP可以访问一些URL,哪些IP不可以访问一些URL。

生效阶段:NGX_HTTP_ACCESS_PHASE阶段模块:http_access_module生效范围:进入access阶段前不生效。也就是说虽然你限制了某ip的访问,但是前面的limit_conn,limit_req还是会生效的。

默认编译进Nginx的,如果不想编译进Nginx,可以通过--without-http_access_module来禁用该模块。

语法: allow $ip | CIDR | unix:|all;上下文:HTTP,server,location,limit_except语法: deny $ip | CIDR | unix:|all;上下文:HTTP,server,location,limit_except

示例:

location / {    deny 192.168.1.1;  // 拒绝某个ip的访问    allow 192.168.1.0/24;   // 允许一段地址的访问    allow 2001:0db8::/32;  // 还可以跟IPv6的格式    deny all;   // 拒绝所有}

需要注意的是 这几条里是顺序执行的,当满足到其中一条就会break了。

Access模块是一种非常简单地控制用户访问的一种方法。对于我们控制一些服务的访问却是非常有用的。

你学废了吗?

#Nginx##程序员#

标签: #nginx获取真实ip判断