濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > nginx設(shè)置目錄白名單、ip白名單的實(shí)現(xiàn)方法

nginx設(shè)置目錄白名單、ip白名單的實(shí)現(xiàn)方法

熱門(mén)標(biāo)簽:地圖標(biāo)注黃河的位置 虛假地圖標(biāo)注 山東企業(yè)外呼系統(tǒng)公司 承德地圖標(biāo)注公司 百度地圖標(biāo)注公司位置要多少錢(qián) 靈圖uu電子寵物店地圖標(biāo)注 地圖標(biāo)注如何改成微信號(hào) 濮陽(yáng)好的聯(lián)通400電話申請(qǐng) 400電話號(hào)碼辦理多少錢(qián)

1.設(shè)置目錄白名單:對(duì)指定請(qǐng)求路徑不設(shè)置限制,如對(duì)請(qǐng)求路徑為api目錄下的請(qǐng)求不做限制,則可寫(xiě)為

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會(huì)優(yōu)先進(jìn)行精準(zhǔn)匹配,所以以上寫(xiě)法即接觸了對(duì)api目錄下屬路徑的限制

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

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

ngx-http-geo-module可以用來(lái)創(chuàng)建變量,變量值依賴(lài)于客戶端 ip 地址;

ngx-http-map-module可以基于其他變量及變量值進(jìn)行變量創(chuàng)建,其允許分類(lèi),或者映射多個(gè)變量到不同值并存儲(chǔ)在一個(gè)變量中;

Nginx geo 格式說(shuō)明
 
Syntax ( 語(yǔ)法格式 ): geo [$address] $variable { ... }
Default ( 默認(rèn) ): -
Content ( 配置段位 ): http
Nginx map 格式說(shuō)明
Syntax ( 語(yǔ)法格式 ): map String $variable { ... }
Default ( 默認(rèn) ):-
Content ( 配置段位 ): http
 
白名單配置示例
 
http{
   # ... 其他配置內(nèi)容
   #定義白名單ip列表變量
   geo $whiteiplist {
     default 1 ;
     127.0.0.1/32 0;
     64.223.160.0/19 0;
   }
   #使用map指令映射將白名單列表中客戶端請(qǐng)求ip為空串
   map $whiteiplist $limit{
     1 $binary_remote_addr ;
     0 "";
   }
   #配置請(qǐng)求限制內(nèi)容
   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;
     }
   }
}
白名單配置可用于對(duì)合作客戶,搜索引擎等請(qǐng)求過(guò)濾限制
 
#(特殊情況處理)
 
#如果想僅限制指定的請(qǐng)求,如:只限制Post請(qǐng)求,則:
http{
   # 其他請(qǐng)求..
   #請(qǐng)求地址map映射
   map $request_method $limit {
     default "";
     POST $binary_remote_addr;
   }
   #限制定義
   limit_req_zone $limit zone=reqlimit:20m rate=10r/s;
   server{
     ... #與普通限制一致
   }
}
#在此基礎(chǔ)上,想進(jìn)行指定方法的白名單限制處理,則:
http{
   #...
   #定義白名單列表
   map $whiteiplist $limitips{
     1 $binary_remote_addr;
     0 "";
   }
 
   #基于白名單列表,定義指定方法請(qǐng)求限制
   map $request_method $limit {
     default "";
     # POST $binary_remote_addr;
     POST $limitips;
   }
 
   #對(duì)請(qǐng)求進(jìn)行引用
   limit_req_zone $limit zone=reqlimit:20m rate=10r/s;
 
   #在server中進(jìn)行引用
   server{
     #... 與普通限制相同
   }
}

以上這篇nginx設(shè)置目錄白名單、ip白名單的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

標(biāo)簽:泰安 鷹潭 福州 淮安 樂(lè)山 德宏 安康 上海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《nginx設(shè)置目錄白名單、ip白名單的實(shí)現(xiàn)方法》,本文關(guān)鍵詞  nginx,設(shè)置,目錄,白名單,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《nginx設(shè)置目錄白名單、ip白名單的實(shí)現(xiàn)方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于nginx設(shè)置目錄白名單、ip白名單的實(shí)現(xiàn)方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    利辛县| 潍坊市| 海盐县| 大埔县| 灵山县| 武隆县| 延寿县| 蛟河市| 五台县| 宾川县| 永定县| 葵青区| 周口市| 阿拉尔市| 青铜峡市| 分宜县| 玛纳斯县| 明光市| 驻马店市| 遵义市| 苍溪县| 贵南县| 温泉县| 建瓯市| 黄浦区| 孟州市| 漳浦县| 廉江市| 怀宁县| 徐汇区| 当雄县| 祁门县| 抚顺县| 龙陵县| 兴国县| 沽源县| 文成县| 宁南县| 都安| 宁安市| 汝阳县|