首頁 > 運維 > Nginx > 主體

Nginx怎麼透過geo模組設定白名單

WBOY
發布: 2023-05-26 13:10:51
轉載
1203 人瀏覽過

原始配置:

http {
......
登入後複製
登入後複製
limit_conn_zone $binary_remote_addr zone=one:10m;
limit_req_zone $binary_remote_addr zone=fifa:10m rate=5r/s;
登入後複製
......
server {
......
limit_conn one 5;
limit_req zone=fifa burst=100;
......
}}
登入後複製
登入後複製

白名單配置:

http {
......
登入後複製
登入後複製
geo $whiteiplist {
 default 1;
 127.0.0.1 0;
 10.10.0.0/24 0;
}
map $whiteiplist $limit {
 1 $binary_remote_addr;
 0 "";
}
limit_conn_zone $limit zone=one:10m;
limit_req_zone $limit zone=fifa:10m rate=5r/s;
登入後複製
......
server {
......
limit_conn one 5;
limit_req zone=fifa burst=100;
......
}}
登入後複製
登入後複製

說明:

# geo指令定義一個白名單$whiteiplist, 預設值為1, 全部都受限。如果客戶端ip與白名單列出的ip相匹配,則$whiteiplist值為0也就是不受限制。

map指令是將$whiteiplist值為1的,也就是受限的ip,映射為客戶端ip。將$whiteiplist值為0的,也就是白名單ip,映射為空的字串。

limit_conn_zone和limit_req_zone指令對於鍵為空值的將會被忽略,從而實現對於列出來的ip不做限制。

以上是Nginx怎麼透過geo模組設定白名單的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!