繼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即可解決這個問題。