使用ngx_http_access_module限制网站来源IP访问

一、禁止某目录让外界访问,但允许某IP访问改目录,且支持PHP解析

企业级Nginx Web服务优化(限制网站来源IP访问)

限制指定IP或IP段访问

location / {
           deny 192.168.1.1;
           allow 192.168.1.0/24;
           allow 10.1.1.1.0/16;
           deny all;
           }

企业级Nginx Web服务优化(限制网站来源IP访问)

利用deny和allow只允许IP访问

location / {
           root     /data0/www/www;
           index    index.html  index.html;
           allow 10.0.0.7;
           deny all;
           }

企业级Nginx Web服务优化(限制网站来源IP访问)

只拒接某些IP访问

企业级Nginx Web服务优化(限制网站来源IP访问)

注意事项:

deny一定要加一个IP,否则会直接跳转到403,不再往下执行了,如果403默认页是在同一域名下,会造成死循环访问.

对于allow的IP,从允许访问的段位从小到大排列,如127.0.0.0/24的下面才能是10.10.0.0/16

其中:

24表示子网掩码:255.255.255.0

16表示子网掩码:255.255.0.0

8表示子网掩码:255.0.0.0

以deny all;结尾,表示了除了上面允许的,其它的都禁止。

如:

deny 192.168.1.1;

allow 127.0.0.0/24;

allow 192.168.0.0/16;

allow 10.10.0.0/16;

deny all;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

200  ----  服务器成功返回网页请求

301  ----  永久跳转(死循环)

403  ----  禁止访问

404  ----  服务器找不到客户端请求的指定页面

500  ----  内部服务错误

502  ----  坏的网关

503  ----  服务当前不可用

504  ----  网关超时

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

二、控制客户端请求Nginx的速率

ngx_http_limit_req_module模块用于限制每个IP访问每个定义key的请求速率.

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
    #以请求的客户端IP作为key值,内存区域命名为one,分配10m内存空间,访问速率限制为1秒1次请求(request)

 limit_req zone=one burst=5;
        #使用前面定义名为one的内存空间,队列值为5,即可以有5个请求排队等待

企业级Nginx Web服务优化(限制网站来源IP访问)

 

相关文章:

  • 2021-11-14
  • 2022-12-23
  • 2022-01-08
  • 2021-07-05
  • 2021-12-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-07
  • 2021-11-08
  • 2021-11-21
  • 2021-05-27
相关资源
相似解决方案