亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > Nginx > 正文

詳解Nginx服務器中map模塊的配置與使用

2024-08-30 12:28:01
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Nginx服務器中map模塊的配置與使用,文中同時給出了ngx_http_map_module模塊的map命令用于制作服務器限速白名單的示例,需要的朋友可以參考下
 

map指令使用ngx_http_map_module模塊提供的。默認情況下,nginx有加載這個模塊,除非人為的 --without-http_map_module。
ngx_http_map_module模塊可以創建變量,這些變量的值與另外的變量值相關聯。允許分類或者同時映射多個值到多個不同值并儲存到一個變量中,map指令用來創建變量,但是僅在變量被接受的時候執行視圖映射操作,對于處理沒有引用變量的請求時,這個模塊并沒有性能上的缺失。
一. ngx_http_map_module模塊指令說明
map
語法: map $var1 $var2 { ... }
默認值: —
配置段: http
map為一個變量設置的映射表。映射表由兩列組成,匹配模式和對應的值。
在 map 塊里的參數指定了源變量值和結果值的對應關系。
匹配模式可以是一個簡單的字符串或者正則表達式,使用正則表達式要用('~')。
一個正則表達式如果以 “~” 開頭,表示這個正則表達式對大小寫敏感。以 “~*”開頭,表示這個正則表達式對大小寫不敏感。

map $http_user_agent $agent {    default "";    ~curl curl;    ~*apachebench" ab;}

正則表達式里可以包含命名捕獲和位置捕獲,這些變量可以跟結果變量一起被其它指令使用。

map $uri $value {  /ttlsa_com          /index.php;  ~^/ttlsa_com/(?<suffix>.*)$ /boy/;  ~/fz(/.*)          /index.php?;              }

[warning]不能在map塊里面引用命名捕獲或位置捕獲變量。如~^/ttlsa_com/(.*)  /boy/$1; 這樣會報錯nginx: [emerg] unknown  variable。[/warning]如果源變量值包含特殊字符如‘~',則要以‘/'來轉義。

map $http_referer $value {  Mozilla  111;  /~Mozilla 222;}

結果變量可以是一個字符串也可以是另外一個變量。

map $num $limit {     1 $binary_remote_addr;     0 "";}

map指令有三個參數:
default : 指定如果沒有匹配結果將使用的默認值。當沒有設置 default,將會用一個空的字符串作為默認的結果。
hostnames : 允許用前綴或者后綴掩碼指定域名作為源變量值。這個參數必須寫在值映射列表的最前面。
include : 包含一個或多個含有映射值的文件。
如果匹配到多個特定的變量,如掩碼和正則同時匹配,那么會按照下面的順序進行選擇:
1. 沒有掩碼的字符串
2. 最長的帶前綴的字符串,例如: “*.example.com”
3. 最長的帶后綴的字符串,例如:“mail.*”
4. 按順序第一個先匹配的正則表達式 (在配置文件中體現的順序)
5. 默認值
map_hash_bucket_size
語法: map_hash_bucket_size size;
默認值: map_hash_bucket_size 32|64|128;
配置段: http
指定一個映射表中的變量在哈希表中的最大值,這個值取決于處理器的緩存。
map_hash_max_size
語法: map_hash_max_size size;
默認值: map_hash_max_size 2048;
配置段: http
設置映射表對應的哈希表的最大值。
二. 實例

http { map $http_user_agent $agent { ~curl curl; ~*chrome chrome; } server {    listen    8080;    server_name test.ttlsa.com;     location /hello { default_type text/plain; echo http_user_agent: $http_user_agent; echo agent: agent:$agent; } }}
# curl 127.0.0.1:8080/hello 
http_user_agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5agent: curl

詳解Nginx服務器中map模塊的配置與使用

詳解Nginx服務器中map模塊的配置與使用

http { map $uri $match {    ~^/hello/(.*) http://www.ttlsa.com/; } server {    listen    8080;    server_name test.ttlsa.com;     location /hello {        default_type text/plain;        echo uri: $uri;        echo match: $match;        echo capture: $1;        echo new: $match$1;    } }}

詳解Nginx服務器中map模塊的配置與使用

PS:基于map指令和geo指令的限速白名單配置

http { geo $whiteiplist { default 1; 127.0.0.1 0; 10.0.0.0/8 0; 121.207.242.0/24 0; }  map $whiteiplist $limit { 1 $binary_remote_addr; 0 ""; }  limit_conn_zone $limit zone=limit:10m;  server {    listen    8080;    server_name test.ttlsa.com;     location ^~ /ttlsa.com/ {        limit_conn limit 4;        limit_rate 200k;        alias /data/www.ttlsa.com/data/download/;    } }}

技術要點:
1. geo指令定義一個白名單$whiteiplist, 默認值為1, 所有都受限制。 如果客戶端IP與白名單列出的IP相匹配,則$whiteiplist值為0也就是不受限制。
2. map指令是將$whiteiplist值為1的,也就是受限制的IP,映射為客戶端IP。將$whiteiplist值為0的,也就是白名單IP,映射為空的字符串。
3. limit_conn_zone和limit_req_zone指令對于鍵為空值的將會被忽略,從而實現對于列出來的IP不做限制。
測試方法:

# ab -c 100 -n 300 http://test.ttlsa.com:8080/ttlsa.com/docs/pdf/nginx_guide.pdf
 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性一区二区三区| 97在线看免费观看视频在线观看| 久久精品国产免费观看| 国产精品久久久久久久久影视| 色爱精品视频一区| 亚洲国产欧美一区二区三区久久| 精品久久久久久久久久| 精品伊人久久97| 伊人青青综合网站| 91国产中文字幕| 国产丝袜精品第一页| 亚洲精品98久久久久久中文字幕| 国产主播喷水一区二区| 亚洲专区在线视频| 欧美成人国产va精品日本一级| 欧美一级大胆视频| 午夜精品福利在线观看| 国产精品91久久久久久| 欧美激情精品久久久久久大尺度| 日韩av电影中文字幕| 在线视频日本亚洲性| 亚洲一区二区三区sesese| 欧美孕妇孕交黑巨大网站| 亚洲精品欧美日韩专区| 欧美精品电影免费在线观看| 成人网在线免费看| 欧美国产精品va在线观看| 欧美www视频在线观看| 亚洲精品综合精品自拍| 中文字幕日韩欧美在线视频| 奇米4444一区二区三区| 中文字幕亚洲专区| 国产精品视频999| 精品亚洲永久免费精品| 色综合久综合久久综合久鬼88| 欧美又大粗又爽又黄大片视频| 91久久久久久| 2018国产精品视频| 九九久久久久99精品| 亚洲欧美一区二区激情| 欧美一区二区大胆人体摄影专业网站| 亚洲自拍欧美另类| 欧美一区二区大胆人体摄影专业网站| 亚洲欧美一区二区三区四区| 午夜精品www| 久久精品国产精品| 欧美午夜美女看片| 国产性色av一区二区| 国产精品综合不卡av| 亚洲综合中文字幕68页| 欧美一乱一性一交一视频| 欧美老妇交乱视频| 国产成人拍精品视频午夜网站| 国产乱人伦真实精品视频| 国产日韩欧美自拍| 精品亚洲一区二区| 国产精品第七影院| 国产精品极品尤物在线观看| 欧美视频二区36p| 亚洲精品成人av| 欧美日韩在线观看视频| 久久久久北条麻妃免费看| 欧美日韩午夜剧场| 欧美一区三区三区高中清蜜桃| 久久香蕉国产线看观看av| 亚洲女人被黑人巨大进入| 人人澡人人澡人人看欧美| 青青久久av北条麻妃海外网| 欧美激情一区二区三级高清视频| 2019中文字幕在线免费观看| 国产精品色婷婷视频| 久久亚洲精品成人| 日韩欧美国产免费播放| 国产成人精品亚洲精品| 欧美激情免费视频| 日韩在线视频观看| 久久久久久有精品国产| 欧美精品在线第一页| 91精品国产色综合| 国外色69视频在线观看| 久久天天躁狠狠躁夜夜躁2014| 久久久久久91香蕉国产| 国产一区红桃视频| 色偷偷噜噜噜亚洲男人的天堂| 91久久国产婷婷一区二区| 成年人精品视频| 欧洲s码亚洲m码精品一区| 国产精品久久久久久久久影视| 欧美大片欧美激情性色a∨久久| 欧美大尺度激情区在线播放| 好吊成人免视频| 久久亚洲精品国产亚洲老地址| 激情久久av一区av二区av三区| 欧美裸体xxxx| 亚洲成色777777在线观看影院| 日韩黄色在线免费观看| 日韩在线视频线视频免费网站| 亚洲国产欧美自拍| 国产在线观看一区二区三区| 欧美激情女人20p| 欧美国产亚洲精品久久久8v| 欧美片一区二区三区| 日本不卡视频在线播放| 欧美在线视频在线播放完整版免费观看| 国产中文字幕91| 欧美小视频在线观看| 欧美高清第一页| 亚洲精品国产品国语在线| 亚洲男人天堂手机在线| 成人两性免费视频| 国产精品亚洲第一区| 国产精品观看在线亚洲人成网| 中文字幕亚洲欧美在线| 色播久久人人爽人人爽人人片视av| 久精品免费视频| 欧美寡妇偷汉性猛交| 欧美一区深夜视频| 国产精品福利网| 国产精品成人观看视频国产奇米| 91精品视频大全| 亚洲qvod图片区电影| 成人欧美一区二区三区黑人| 亚洲精品一区中文字幕乱码| 色在人av网站天堂精品| 91理论片午午论夜理片久久| 国产欧美一区二区白浆黑人| 国产不卡精品视男人的天堂| 亚洲国产精久久久久久| 日韩成人激情影院| 久久69精品久久久久久久电影好| 国产成人精品一区二区在线| 亚洲精品美女在线观看| 国产精品美女免费视频| 日韩av一区在线| 亚洲影院污污.| 欧美xxxx18性欧美| 红桃视频成人在线观看| 亚洲精品av在线| 精品中文字幕久久久久久| 777国产偷窥盗摄精品视频| 久久久久久久香蕉网| 蜜月aⅴ免费一区二区三区| 欧美日韩中文字幕在线| 国产成人福利视频| 国产一区二区免费| 国产精品av免费在线观看| 亚洲白拍色综合图区| 国产欧美日韩最新| 亚洲成人久久久| 97精品国产97久久久久久免费| 高跟丝袜一区二区三区| 日韩欧美国产成人| 亚洲老板91色精品久久| 日韩在线激情视频| 亚洲性av在线| 成人黄色免费看| 久久久综合免费视频| 欧美另类极品videosbest最新版本| 午夜精品久久久久久久99热浪潮| 亚洲综合中文字幕在线| 国产成人精品在线观看| 精品调教chinesegay| 亚洲精品98久久久久久中文字幕| 久久香蕉国产线看观看av|