我是靠谱客的博主 美满乌冬面,最近开发中收集的这篇文章主要介绍企业级Nginx Web服务优化(限制网站来源IP访问),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

限制指定IP或IP段访问

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

利用deny和allow只允许IP访问

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

只拒接某些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访问)的全部内容,希望文章能够帮你解决企业级Nginx Web服务优化(限制网站来源IP访问)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(91)

评论列表共有 0 条评论

立即
投稿
返回
顶部