天天看點

nginx--IP白名單

繼NGINX配置IP在某一時間段内通路次數限制

遇到一個問題,就是我們在開發測試的時候,肯定要頻繁的去調用nginx服務來進行測試,辦公環境的外網IP一般情況都是一個,那就會被nginx的這個限制給影響。

下面我們就在nginx中增加IP白名單的用法。

http {

......

    geo $whiteiplist  { -- 相當于定義一個MAP

        default 1; -- 預設情況key=default,value=1

        127.0.0.1 0;

        10.0.0.0/8 0;          -- key=10.0.0.0,value=0

        121.207.242.0/24 0;

    }

    map $whiteiplist  $limit_binary_remote_addr { -- 相當于周遊MAP

        1 $binary_remote_addr;  -- value=1,傳回$binary_remote_addr,也就是IP,否則空字元串

        0 "";

    }

    limit_req_zone $limit_binary_remote_add zone=allips:100m rate=15r/m;

    server {

        ......

    }

}

geo用法, http://nginx.org/cn/docs/http/ngx_http_geo_module.html

MAP用法,http://nginx.org/cn/docs/http/ngx_http_map_module.html

示例中,$whiteplist,中遞增要假如白名單的IP即可解決這個問題。