中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx Location指令URI匹配規則是什么

發布時間:2022-05-21 10:59:22 來源:億速云 閱讀:210 作者:zzz 欄目:大數據

本篇內容主要講解“Nginx Location指令URI匹配規則是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Nginx Location指令URI匹配規則是什么”吧!

1、介紹

location指令是http模塊當中最核心的一項配置,根據預先定義的url匹配規則來接收用戶發送的請求,根據匹配結果,將請求轉發到后臺服務器、非法的請求直接拒絕并返回403、404、500錯誤處理等。

2、location指令語法

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

3、uri匹配模式

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

4、location uri匹配規則

當nginx收到一個請求后,會截取請求的uri部份,去搜索所有location指令中定義的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> 匹配到一個普通格式后,搜索并未結束,而是暫存當前匹配的結果,并繼續搜索正則匹配模式

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

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

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

6、正則與非正則匹配

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

...
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; #這種定義不允許,需求利用@定義臨時變量來實現
    error_page 403 @page403;
    location @page403 {
      proxy_pass http://blog.csdn.net;
    } 
  }
}

到此,相信大家對“Nginx Location指令URI匹配規則是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

许昌市| 珲春市| 桓台县| 龙陵县| 乌兰察布市| 三原县| 乃东县| 乳山市| 泾源县| 永德县| 承德县| 绿春县| 南丹县| 馆陶县| 茂名市| 肥西县| 浮梁县| 五家渠市| 明光市| 收藏| 黄冈市| 新巴尔虎左旗| 浪卡子县| 澄城县| 防城港市| 英德市| 郯城县| 德化县| 林西县| 滁州市| 留坝县| 肥东县| 乐山市| 松滋市| 花莲县| 霍山县| 资兴市| 永平县| 沙河市| 长治市| 宁城县|