校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > nginx設置目錄白名單、ip白名單的實現方法

nginx設置目錄白名單、ip白名單的實現方法

熱門標簽:地圖標注黃河的位置 虛假地圖標注 山東企業外呼系統公司 承德地圖標注公司 百度地圖標注公司位置要多少錢 靈圖uu電子寵物店地圖標注 地圖標注如何改成微信號 濮陽好的聯通400電話申請 400電話號碼辦理多少錢

1.設置目錄白名單:對指定請求路徑不設置限制,如對請求路徑為api目錄下的請求不做限制,則可寫為

server{
    location /app {
      proxy_pass http://192.168.1.111:8095/app;

      limit_conn conn 20;

      limit_rate 500k;

      limit_req zone=foo burst=5 nodelay; 
    }
    location /app/api {
      proxy_pass http://192.168.1.111:8095/app/api
    }
}
# 因nginx會優先進行精準匹配,所以以上寫法即接觸了對api目錄下屬路徑的限制

2.設置ip白名單,需用到nginx geo 與 nginx map

在沒有人為刪除的情況下(--without-http_geo_module或--without-http_map_module),nginx默認加載了ngx-http-geo-module和ngx-http-map-module相關內容;

ngx-http-geo-module可以用來創建變量,變量值依賴于客戶端 ip 地址;

ngx-http-map-module可以基于其他變量及變量值進行變量創建,其允許分類,或者映射多個變量到不同值并存儲在一個變量中;

Nginx geo 格式說明
 
Syntax ( 語法格式 ): geo [$address] $variable { ... }
Default ( 默認 ): -
Content ( 配置段位 ): http
Nginx map 格式說明
Syntax ( 語法格式 ): map String $variable { ... }
Default ( 默認 ):-
Content ( 配置段位 ): http
 
白名單配置示例
 
http{
   # ... 其他配置內容
   #定義白名單ip列表變量
   geo $whiteiplist {
     default 1 ;
     127.0.0.1/32 0;
     64.223.160.0/19 0;
   }
   #使用map指令映射將白名單列表中客戶端請求ip為空串
   map $whiteiplist $limit{
     1 $binary_remote_addr ;
     0 "";
   }
   #配置請求限制內容
   limit_conn_zone $limit zone=conn:10m;
   limit_req_zone $limit zone=allips:10m rate=20r/s;
   server{
     location /yourApplicationName {
       proxy_pass http://192.168.1.111:8095/app;
       limit_conn conn 50;
       limit_rate 500k;
       limit_req zone=allips burst=5 nodelay;
     }
   }
}
白名單配置可用于對合作客戶,搜索引擎等請求過濾限制
 
#(特殊情況處理)
 
#如果想僅限制指定的請求,如:只限制Post請求,則:
http{
   # 其他請求..
   #請求地址map映射
   map $request_method $limit {
     default "";
     POST $binary_remote_addr;
   }
   #限制定義
   limit_req_zone $limit zone=reqlimit:20m rate=10r/s;
   server{
     ... #與普通限制一致
   }
}
#在此基礎上,想進行指定方法的白名單限制處理,則:
http{
   #...
   #定義白名單列表
   map $whiteiplist $limitips{
     1 $binary_remote_addr;
     0 "";
   }
 
   #基于白名單列表,定義指定方法請求限制
   map $request_method $limit {
     default "";
     # POST $binary_remote_addr;
     POST $limitips;
   }
 
   #對請求進行引用
   limit_req_zone $limit zone=reqlimit:20m rate=10r/s;
 
   #在server中進行引用
   server{
     #... 與普通限制相同
   }
}

以上這篇nginx設置目錄白名單、ip白名單的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

標簽:泰安 鷹潭 福州 淮安 樂山 德宏 安康 上海

巨人網絡通訊聲明:本文標題《nginx設置目錄白名單、ip白名單的實現方法》,本文關鍵詞  nginx,設置,目錄,白名單,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《nginx設置目錄白名單、ip白名單的實現方法》相關的同類信息!
  • 本頁收集關于nginx設置目錄白名單、ip白名單的實現方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 象山县| 得荣县| 革吉县| 南宫市| 班玛县| 海宁市| 呼伦贝尔市| 怀柔区| 辛集市| 旬邑县| 城步| 上思县| 沭阳县| 尼勒克县| 兴安盟| 明星| 巧家县| 信丰县| 渝中区| 潍坊市| 新龙县| 肥城市| 铅山县| 奉节县| 城市| 华阴市| 香格里拉县| 石阡县| 繁昌县| 万安县| 五大连池市| 乡城县| 辉南县| 桂林市| 抚松县| 沁水县| 南丹县| 十堰市| 牟定县| 通州区| 息烽县|