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

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

Nginx Location指令URI匹配規(guī)則詳解小結(jié)

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

1、介紹

location指令是http模塊當中最核心的一項配置,根據(jù)預(yù)先定義的URL匹配規(guī)則來接收用戶發(fā)送的請求,根據(jù)匹配結(jié)果,將請求轉(zhuǎn)發(fā)到后臺服務(wù)器、非法的請求直接拒絕并返回403、404、500錯誤處理等。

2、location指令語法

location [=|~|~*|^~|@] /uri/ { … } 或 location @name { … }

3、URI匹配模式

location指令分為兩種匹配模式:
1> 普通字符串匹配:以=開頭或開頭無引導(dǎo)字符(~)的規(guī)則
2> 正則匹配:以~或~*開頭表示正則匹配,~*表示正則不區(qū)分大小寫

4、location URI匹配規(guī)則

當nginx收到一個請求后,會截取請求的URI部份,去搜索所有l(wèi)ocation指令中定義的URI匹配模式。在server模塊中可以定義多個location指令來匹配不同的url請求,多個不同location配置的URI匹配模式,總體的匹配原則是:先匹配普通字符串模式,再匹配正則模式。只識別URI部份,例如請求為:/test/abc/user.do?name=xxxx

一個請求過來后,Nginx匹配這個請求的流程如下:

1> 先查找是否有=開頭的精確匹配,如:location = /test/abc/user.do { … }

2> 再查找普通匹配,以 最大前綴 為原則,如有以下兩個location,則會匹配后一項
* location /test/ { … }
* location /test/abc { … }

3> 匹配到一個普通格式后,搜索并未結(jié)束,而是暫存當前匹配的結(jié)果,并繼續(xù)搜索正則匹配模式

4> 所有正則匹配模式location中找到第一個匹配項后,就以此項為最終匹配結(jié)果
所以正則匹配項匹配規(guī)則,受定義的前后順序影響,但普通匹配模式不會

5> 如果未找到正則匹配項,則以3中緩存的結(jié)果為最終匹配結(jié)果
6> 如果一個匹配都沒搜索到,則返回404

5、精確匹配與模糊匹配差別
location =/ { … } 與 location / { … } 的差別:
* 前一個是精確匹配,只響應(yīng)/請求,所有/xxx或/xxx/xxxx類的請求都不會以前綴的形式匹配到它
* 后一個是只要以 / 為前綴的請求都會被匹配到。如:/abc , /test/abc, /test/abc/aaaa

6、正則與非正則匹配

1> location ~ /test/.+.jsp$ { … } :正則匹配,支持標準的正則表達式語法。
2> location ^~ / { … } : ^~意思是關(guān)閉正則匹配,當搜索到這個普通匹配模式后,將不再繼續(xù)搜索正則匹配模式。

...http {  ...  server {    listen    80;    server_name localhost;    location / {      root  html;      index index.html index.htm;      # deny all; 拒絕請求,返回403      # allow all; 允許請求    }    location /abc {      deny all;    }    location ~ /.+/.jsp$ {      proxy_pass http://location:9090;    }    # 匹配所有/test路徑下的jsp文件    location ~ /test/.+/.jsp$ {      proxy_pass http://localhost:8080;    }    # 定義各類錯誤頁    error_page 404 /404.html    error_page  500 502 503 504 /50x.html;    location = /50x.html {      root  html;    }    # @類似于變量定義    # error_page 403 http://blog.csdn.net; #這種定義不允許,需求利用@定義臨時變量來實現(xiàn)    error_page 403 @page403;    location @page403 {      proxy_pass http://blog.csdn.net;    }   }}            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 荥阳市| 什邡市| 乌审旗| 准格尔旗| 淳化县| 武城县| 黎城县| 宜兴市| 连山| 德格县| 高平市| 大足县| 庄河市| 禹州市| 海口市| 华亭县| 沧州市| 萝北县| 昌宁县| 兰坪| 昌都县| 霸州市| 镇巴县| 开平市| 罗定市| 新疆| 双牌县| 洞头县| 德钦县| 天气| 遂溪县| 乳山市| 石棉县| 尉犁县| 辛集市| 南投市| 盐亭县| 桃园县| 中方县| 荆门市| 子长县|