最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx服務(wù)器中的location配置詳解

 更新時間:2015年08月17日 11:11:26   作者:低調(diào)小一  
這篇文章主要介紹了Nginx服務(wù)器中的location配置詳解,包括location的匹配順序等基本概念,需要的朋友可以參考下

語法
location  [=|~|~*|^~] /uri/  {...}

規(guī)則
= : 表示精確的URI匹配(有興趣的同學(xué)可以看一下url和uri的區(qū)別)
~: 表示區(qū)分大小寫的正則匹配
~*:表示不區(qū)分大小寫的正則匹配
!~ && !~*:表示區(qū)分大小寫不匹配的正則和不區(qū)分大小寫的不匹配的正則
/:通用匹配,任何請求都會匹配到

location匹配目標(biāo)
location匹配測試只使用請求URI的部分,而不使用參數(shù)部分。(原因:參數(shù)的寫法太多,無法精確匹配)

location匹配順序
多個location配置的前提下,location的匹配順序(未驗證,嘿嘿,google上搜的)
1.首先匹配=
2.其次匹配^~
3.再其次按照配置文件的順序進行正則匹配、
4.最后是交給/進行通用匹配
注意:
當(dāng)有匹配成功時,立刻停止匹配,按照當(dāng)前匹配規(guī)則處理請求

演示實例

nginx 配置文件,自下到上分為三種層次分明的結(jié)構(gòu):
 |    http block        the protocol level
 |    server block        the server level
 V    location block        the requested URI

Nginx 允許用戶定義 Location block ,并指定一個匹配模式(pattern)匹配特定的 URI。除了簡單的字符串(比如文件系統(tǒng)路徑),還允許使用更為復(fù)雜的匹配模式(pattern)。
Location block 的基本語法形式是:

  location [=|~|~*|^~|@] pattern { ... }

[=|~|~*|^~|@] 被稱作 location modifier ,這會定義 Nginx 如何去匹配其后的 pattern ,以及該 pattern 的最基本的屬性(簡單字符串或正則表達式)。

關(guān)于 location modifier

1. =

這會完全匹配指定的 pattern ,且這里的 pattern 被限制成簡單的字符串,也就是說這里不能使用正則表達式。
Example:

server {
  server_name jb51.net;
  location = /abcd {
  […]
  }
}

匹配情況:
    http://jb51.net/abcd        # 正好完全匹配
    http://jb51.net/ABCD        # 如果運行 Nginx server 的系統(tǒng)本身對大小寫不敏感,比如 Windows ,那么也匹配
    http://jb51.net/abcd?param1?m2    # 忽略查詢串參數(shù)(query string arguments),這里就是 /abcd 后面的 ?param1?m2
    http://jb51.net/abcd/    # 不匹配,因為末尾存在反斜杠(trailing slash),Nginx 不認(rèn)為這種情況是完全匹配
    http://jb51.net/abcde    # 不匹配,因為不是完全匹配

2. (None)
可以不寫 location modifier ,Nginx 仍然能去匹配 pattern 。這種情況下,匹配那些以指定的 patern 開頭的 URI,注意這里的 URI 只能是普通字符串,不能使用正則表達式。
Example:

server {
  server_name website.com;
  location /abcd {
  […]
  }
}

匹配情況:
    http://jb51.net/abcd        # 正好完全匹配
    http://jb51.net/ABCD        # 如果運行 Nginx server 的系統(tǒng)本身對大小寫不敏感,比如 Windows ,那么也匹配
    http://jb51.net/abcd?param1?m2    # 忽略查詢串參數(shù)(query string arguments),這里就是 /abcd 后面的 ?param1?m2
    http://jb51.net/abcd/    # 末尾存在反斜杠(trailing slash)也屬于匹配范圍內(nèi)
    http://jb51.net/abcde    # 仍然匹配,因為 URI 是以 pattern 開頭的

3. ~
這個 location modifier 對大小寫敏感,且 pattern 須是正則表達式

Example:
server {
  server_name jb51.net;
  location ~ ^/abcd$ {
  […]
  }
}

匹配情況:
    http://jb51.net/abcd        # 完全匹配
    http://jb51.net/ABCD        # 不匹配,~ 對大小寫是敏感的
    http://jb51.net/abcd?param1?m2    # 忽略查詢串參數(shù)(query string arguments),這里就是 /abcd 后面的 ?param1?m2
    http://jb51.net/abcd/    # 不匹配,因為末尾存在反斜杠(trailing slash),并不匹配正則表達式 ^/abcd$
    http://jb51.net/abcde    # 不匹配正則表達式 ^/abcd$
注意:對于一些對大小寫不敏感的系統(tǒng),比如 Windows ,~ 和 ~* 都是不起作用的,這主要是操作系統(tǒng)的原因。

4. ~*
與 ~ 類似,但這個 location modifier 不區(qū)分大小寫,pattern 須是正則表達式
Example:

server {
  server_name website.com;
  location ~* ^/abcd$ {
  […]
  }
}

匹配情況:
    http://jb51.net/abcd        # 完全匹配
    http://jb51.net/ABCD        # 匹配,這就是它不區(qū)分大小寫的特性
    http://jb51.net/abcd?param1?m2    # 忽略查詢串參數(shù)(query string arguments),這里就是 /abcd 后面的 ?param1?m2
    http://jb51.net/abcd/    # 不匹配,因為末尾存在反斜杠(trailing slash),并不匹配正則表達式 ^/abcd$
    http://jb51.net/abcde    # 不匹配正則表達式 ^/abcd$

5. ^~
匹配情況類似 2. (None) 的情況,以指定匹配模式開頭的 URI 被匹配,不同的是,一旦匹配成功,那么 Nginx 就停止去尋找其他的 Location 塊進行匹配了(與 Location 匹配順序有關(guān))

6. @
用于定義一個 Location 塊,且該塊不能被外部 Client 所訪問,只能被 Nginx 內(nèi)部配置指令所訪問,比如 try_files or error_page

演示實例

2015817110941677.png (1022×554)

產(chǎn)生的效果如下:
訪問根目錄/,匹配到location /
訪問除hello.php之外的其它php程序,匹配到location ~ \.php$,并且用php5-fpm去運行
訪問hello.php,匹配到location = /hello.php,訪問被重定向到好聯(lián)系官網(wǎng)

相關(guān)文章

  • Nginx可視化管理工具結(jié)合cpolar實現(xiàn)遠(yuǎn)程訪問的步驟詳解

    Nginx可視化管理工具結(jié)合cpolar實現(xiàn)遠(yuǎn)程訪問的步驟詳解

    Nginx Proxy Manager 是一個開源的反向代理工具,本文將給大家介紹在Linux 安裝Nginx Proxy Manager并且結(jié)合 cpolar內(nèi)網(wǎng)穿透工具實現(xiàn)遠(yuǎn)程訪問管理界面,同等,當(dāng)我們使用Nginx Proxy Manager配置其他本地服務(wù),并且需要遠(yuǎn)程訪問,也是同樣的方式,需要的朋友可以參考下
    2023-09-09
  • Nginx配置文件中l(wèi)ocation配置的多種場景

    Nginx配置文件中l(wèi)ocation配置的多種場景

    location主要做定位功能,根據(jù)uri來進行不同的定位,下面這篇文章主要給大家介紹了關(guān)于Nginx配置文件中l(wèi)ocation配置的多種場景,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • Nginx的配置文件結(jié)構(gòu)和各種配置指令

    Nginx的配置文件結(jié)構(gòu)和各種配置指令

    Nginx是一款高性能的Web服務(wù)器和反向代理服務(wù)器,常常被用作Web服務(wù)器、負(fù)載均衡器、反向代理和緩存服務(wù)器等,本文將詳細(xì)介紹Nginx的配置文件結(jié)構(gòu)和各種配置指令,幫助你理解和正確配置Nginx?服務(wù)器
    2024-03-03
  • 一文帶你搞懂什么是Nginx服務(wù)器

    一文帶你搞懂什么是Nginx服務(wù)器

    這篇文章主要介紹了一文帶你搞懂什么是Nginx,Nginx?(engine?x)?是一個高性能的HTTP和反向代理web服務(wù)器,同時也提供了iMAP/POP3/SMTP服務(wù),需要的朋友可以參考下
    2023-04-04
  • 簡單談?wù)凬ginx基礎(chǔ)知識入門

    簡單談?wù)凬ginx基礎(chǔ)知識入門

    Nginx(engine x)是一個高性能的HTTP服務(wù)器(其實不止HTTP服務(wù)器),一般主要用作負(fù)載均衡和反向代理,今天我們來簡單學(xué)習(xí)下他的基礎(chǔ)配置知識
    2017-08-08
  • Nginx流量控制及白名單實現(xiàn)

    Nginx流量控制及白名單實現(xiàn)

    本文主要介紹了Nginx流量控制實現(xiàn),還包括了針對客戶端IP地址的白名單和黑名單應(yīng)用不同“流量限制”的高級配置,具有一定的參考價值,感興趣的可以了解一下
    2024-08-08
  • Nginx層面配置基礎(chǔ)用戶驗證的完整步驟

    Nginx層面配置基礎(chǔ)用戶驗證的完整步驟

    這篇文章主要給大家介紹了關(guān)于Nginx層面配置基礎(chǔ)用戶驗證的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Nginx具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Nginx HTTP Status 400 – 錯誤的請求問題解決

    Nginx HTTP Status 400 – 錯誤的請求問題解決

    本文主要介紹了在配置Nginx反向代理兩個Tomcat站點時遇到HTTPStatus400錯誤,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • 蘋果M1芯片安裝nginx 并且部署vue項目步驟詳解

    蘋果M1芯片安裝nginx 并且部署vue項目步驟詳解

    在本篇文章里小編給大家整理了一篇關(guān)于蘋果M1芯片安裝nginx 并且部署vue項目步驟詳解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2021-11-11
  • Nginx中反向代理+負(fù)載均衡+服務(wù)器宕機解決辦法詳解

    Nginx中反向代理+負(fù)載均衡+服務(wù)器宕機解決辦法詳解

    這篇文章主要介紹了Nginx中反向代理+負(fù)載均衡+服務(wù)器宕機解決辦法詳解,反向代理保證系統(tǒng)安全,不暴露服務(wù)器IP,利用nginx服務(wù)器,利用內(nèi)網(wǎng)ip進行訪問,避免出現(xiàn)攻擊服務(wù)器的情況,需要的朋友可以參考下
    2024-01-01

最新評論

桓仁| 佛坪县| 凌海市| 建湖县| 灯塔市| 洪雅县| 当阳市| 龙川县| 巧家县| 盘山县| 东平县| 怀集县| 平塘县| 巴林右旗| 崇左市| 陵水| 镇赉县| 东兰县| 水城县| 尚义县| 九江市| 梅州市| 武汉市| 望城县| 平顶山市| 靖安县| 当涂县| 炎陵县| 诸暨市| 苏州市| 南宫市| 博野县| 侯马市| 怀仁县| 榆树市| 万荣县| 定兴县| 灵川县| 新巴尔虎左旗| 吴堡县| 蒙城县|