国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > Nginx > 正文

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

2024-08-30 12:26:17
字體:
供稿:網(wǎng)友

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

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

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

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

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

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

結(jié)果變量可以是一個(gè)字符串也可以是另外一個(gè)變量。

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

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 五大连池市| 霞浦县| 开阳县| 丰都县| 台山市| 南阳市| 大埔区| 安岳县| 壤塘县| 五大连池市| 玛沁县| 乐至县| 长岭县| 环江| 莱芜市| 庆城县| 金华市| 临湘市| 东丽区| 罗田县| 宜城市| 临高县| 巧家县| 泽普县| 康乐县| 遵义县| 樟树市| 衡阳县| 石家庄市| 阳高县| 城口县| 泰和县| 长白| 益阳市| 于田县| 友谊县| 郧西县| 张家界市| 天柱县| 当雄县| 绵阳市|