欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

語(yǔ)法
location  [=|~|~*|^~] /uri/  {...}

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

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

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

演示實(shí)例

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

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

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

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

關(guān)于 location modifier

1. =

這會(huì)完全匹配指定的 pattern ,且這里的 pattern 被限制成簡(jiǎn)單的字符串,也就是說(shuō)這里不能使用正則表達(dá)式。
Example:

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

匹配情況:
    http://jb51.net/abcd        # 正好完全匹配
    http://jb51.net/ABCD        # 如果運(yùn)行 Nginx server 的系統(tǒng)本身對(duì)大小寫(xiě)不敏感,比如 Windows ,那么也匹配
    http://jb51.net/abcd?param1?m2    # 忽略查詢串參數(shù)(query string arguments),這里就是 /abcd 后面的 ?param1?m2
    http://jb51.net/abcd/    # 不匹配,因?yàn)槟┪泊嬖诜葱备埽╰railing slash),Nginx 不認(rèn)為這種情況是完全匹配
    http://jb51.net/abcde    # 不匹配,因?yàn)椴皇峭耆ヅ?/p>

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

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

匹配情況:
    http://jb51.net/abcd        # 正好完全匹配
    http://jb51.net/ABCD        # 如果運(yùn)行 Nginx server 的系統(tǒng)本身對(duì)大小寫(xiě)不敏感,比如 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    # 仍然匹配,因?yàn)?URI 是以 pattern 開(kāi)頭的

3. ~
這個(gè) location modifier 對(duì)大小寫(xiě)敏感,且 pattern 須是正則表達(dá)式

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

匹配情況:
    http://jb51.net/abcd        # 完全匹配
    http://jb51.net/ABCD        # 不匹配,~ 對(duì)大小寫(xiě)是敏感的
    http://jb51.net/abcd?param1?m2    # 忽略查詢串參數(shù)(query string arguments),這里就是 /abcd 后面的 ?param1?m2
    http://jb51.net/abcd/    # 不匹配,因?yàn)槟┪泊嬖诜葱备埽╰railing slash),并不匹配正則表達(dá)式 ^/abcd$
    http://jb51.net/abcde    # 不匹配正則表達(dá)式 ^/abcd$
注意:對(duì)于一些對(duì)大小寫(xiě)不敏感的系統(tǒng),比如 Windows ,~ 和 ~* 都是不起作用的,這主要是操作系統(tǒng)的原因。

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

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

匹配情況:
    http://jb51.net/abcd        # 完全匹配
    http://jb51.net/ABCD        # 匹配,這就是它不區(qū)分大小寫(xiě)的特性
    http://jb51.net/abcd?param1?m2    # 忽略查詢串參數(shù)(query string arguments),這里就是 /abcd 后面的 ?param1?m2
    http://jb51.net/abcd/    # 不匹配,因?yàn)槟┪泊嬖诜葱备埽╰railing slash),并不匹配正則表達(dá)式 ^/abcd$
    http://jb51.net/abcde    # 不匹配正則表達(dá)式 ^/abcd$

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

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

演示實(shí)例

2015817110941677.png (1022×554)

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

相關(guān)文章

  • nginx設(shè)置上傳目錄無(wú)執(zhí)行權(quán)限的方法

    nginx設(shè)置上傳目錄無(wú)執(zhí)行權(quán)限的方法

    在windows+iis下,可以設(shè)置上傳目錄,類似:upload,uploadfile,attachments,這樣的目錄下面無(wú)腳本執(zhí)行權(quán)限,從而防止非法用戶上傳腳本得到webshell
    2010-11-11
  • 基于nginx獲取代理服務(wù)ip以及客戶端真實(shí)ip詳解

    基于nginx獲取代理服務(wù)ip以及客戶端真實(shí)ip詳解

    最近在研究nginx中如何獲取真實(shí)客戶端IP的方法,下面這篇文章主要給大家介紹了基于nginx獲取代理服務(wù)ip以及客戶端真實(shí)ip的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Nginx為T(mén)omcat服務(wù)器作反向代理的配置教程

    Nginx為T(mén)omcat服務(wù)器作反向代理的配置教程

    這篇文章主要介紹了Nginx為T(mén)omcat服務(wù)器作反向代理的配置教程,文中以Windows系統(tǒng)為環(huán)境來(lái)演示驅(qū)動(dòng)JSP程序的示例,需要的朋友可以參考下
    2016-03-03
  • Nginx啟動(dòng)、重啟失敗的一般解決方法和步驟

    Nginx啟動(dòng)、重啟失敗的一般解決方法和步驟

    這篇文章主要介紹了Nginx啟動(dòng)、重啟失敗的一般解決方法和步驟,本文沒(méi)啥技術(shù)含量,只是一個(gè)慣用手法的總結(jié),需要的朋友可以參考下
    2015-07-07
  • Nginx本地目錄映射實(shí)現(xiàn)代碼實(shí)例

    Nginx本地目錄映射實(shí)現(xiàn)代碼實(shí)例

    這篇文章主要介紹了Nginx本地目錄映射實(shí)現(xiàn)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • nginx代理返回代碼499問(wèn)題分析與處理

    nginx代理返回代碼499問(wèn)題分析與處理

    我們通過(guò)nginx作為互聯(lián)網(wǎng)代理服務(wù)器,通過(guò)它實(shí)現(xiàn)我行內(nèi)部系統(tǒng)向互聯(lián)網(wǎng)系統(tǒng)的接口訪問(wèn)及調(diào)用,但是在使用過(guò)程中,不時(shí)的會(huì)出現(xiàn)大量返回代碼為499的問(wèn)題,所以本文我們對(duì)為什么nginx會(huì)返回499錯(cuò)誤代碼展開(kāi)分析和研究
    2023-06-06
  • Nginx服務(wù)快速入門(mén)教程

    Nginx服務(wù)快速入門(mén)教程

    這篇文章主要介紹了Nginx服務(wù)快速入門(mén)教程的的相關(guān)資料,幫助大家更好的理解和使用nginx,感興趣的朋友可以了解下
    2021-02-02
  • nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例

    nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例

    這篇文章主要介紹了nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • nginx限制IP惡意調(diào)用短信接口處理方法

    nginx限制IP惡意調(diào)用短信接口處理方法

    這篇文章主要介紹了nginx限制IP惡意調(diào)用短信接口處理方法,一種是nginx黑名單方式,另一種是限制IP請(qǐng)求數(shù)。需要的朋友可以參考下
    2018-06-06
  • nginx正向代理http和https的實(shí)現(xiàn)步驟

    nginx正向代理http和https的實(shí)現(xiàn)步驟

    本文主要介紹了nginx正向代理http和https的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評(píng)論