国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Nginx擴(kuò)展篇之Location語(yǔ)法規(guī)則

這篇具有很好參考價(jià)值的文章主要介紹了Nginx擴(kuò)展篇之Location語(yǔ)法規(guī)則。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1 Location語(yǔ)法規(guī)則

1.1 Location規(guī)則

語(yǔ)法規(guī)則: location [=||*|^~] /uri/ {… }
首先匹配 =,其次匹配^~,其次是按文件中順序的正則匹配,最后是交給 /通用匹配。當(dāng)有匹配成功時(shí)候,停止匹配,按當(dāng)前匹配規(guī)則處理請(qǐng)求。

符號(hào) 含義
= = 開頭表示精確匹配
^~ ^~開頭表示uri以某個(gè)常規(guī)字符串開頭,理解為匹配 url路徑即可。nginx不對(duì)url做編碼,因此請(qǐng)求為/static/20%/aa,可以被規(guī)則^~ /static/ /aa匹配到(注意是空格)
~ ~ 開頭表示區(qū)分大小寫的正則匹配
~* ~* 開頭表示不區(qū)分大小寫的正則匹配
!和!* !和!*分別為區(qū)分大小寫不匹配及不區(qū)分大小寫不匹配的正則
/ 用戶所使用的代理(一般為瀏覽器)
$http_x_forwarded_for 可以記錄客戶端IP,通過(guò)代理服務(wù)器來(lái)記錄客戶端的ip地址
$http_referer 可以記錄用戶是從哪個(gè)鏈接訪問(wèn)過(guò)來(lái)的

匹配規(guī)則示例:

  location = / {
      #規(guī)則A
  }
  location = /login {
      #規(guī)則B
  }
  location ^~ /static/ {
      #規(guī)則C
  }
  location ~ \.(gif|jpg|png|js|css)$ {
      #規(guī)則D
  }
  location ~* \.(gif|jpg|png|js|css)$ {
      #規(guī)則E
  }
  location !~ \.xhtml$ {
      #規(guī)則F
  }
  location !~* \.xhtml$ {
      #規(guī)則G
  }
  location / {
      #規(guī)則H
  }

那么產(chǎn)生的效果如下:

  1. 訪問(wèn)根目錄/,比如http://localhost/將匹配規(guī)則A
  2. 訪問(wèn) http://localhost/login 將匹配規(guī)則B,http://localhost/register則匹配規(guī)則H
  3. 訪問(wèn) http://localhost/static/a.html 將匹配規(guī)則C
  4. 訪問(wèn) http://localhost/a.gif,http://localhost/b.jpg 將匹配規(guī)則D和規(guī)則E,但是規(guī)則D順序優(yōu)先,規(guī)則E不起作用,而http://localhost/static/c.png則優(yōu)先匹配到規(guī)則C
  5. 訪問(wèn) http://localhost/a.PNG 則匹配規(guī)則E,而不會(huì)匹配規(guī)則D,因?yàn)橐?guī)則E不區(qū)分大小寫。
  6. 訪問(wèn) http://localhost/a.xhtml 不會(huì)匹配規(guī)則F和規(guī)則G,http://localhost/a.XHTML不會(huì)匹配規(guī)則G,因?yàn)椴粎^(qū)分大小寫。規(guī)則F,規(guī)則G屬于排除法,符合匹配規(guī)則但是不會(huì)匹配到,所以想想看實(shí)際應(yīng)用中哪里會(huì)用到。
  7. 訪問(wèn) http://localhost/category/id/1111 則最終匹配到規(guī)則H,因?yàn)橐陨弦?guī)則都不匹配,這個(gè)時(shí)候應(yīng)該是nginx轉(zhuǎn)發(fā)請(qǐng)求給后端應(yīng)用服務(wù)器,比如FastCGI(PHP),tomcat(jsp),nginx作為反向代理服務(wù)器存在。

1.2 實(shí)際常用規(guī)則

#直接匹配網(wǎng)站根目錄,通過(guò)域名訪問(wèn)網(wǎng)站首頁(yè)比較頻繁,使用這個(gè)會(huì)加速處理。
#這里是直接轉(zhuǎn)發(fā)給后端應(yīng)用服務(wù)器了,也可以是一個(gè)靜態(tài)首頁(yè)
#第一個(gè)必選規(guī)則

    location = / {
       proxy_pass http://tomcat:8080/index
    }

第二個(gè)必選規(guī)則是處理靜態(tài)文件請(qǐng)求,這是nginx作為http服務(wù)器的強(qiáng)項(xiàng)
有兩種配置模式,目錄匹配或后綴匹配,任選其一或搭配使用

location ^~ /static/ {
   # 請(qǐng)求/static/a.txt 將被映射到實(shí)際目錄文件:/webroot/res/static/a.txt
   root /webroot/res/;
}

location ~* \.(gif|jpg|jpeg|png|css|js|html|ico)${
   root /webroot/res/;
}

第三個(gè)規(guī)則就是通用規(guī)則,用來(lái)轉(zhuǎn)發(fā)動(dòng)態(tài)請(qǐng)求到后端應(yīng)用服務(wù)器
非靜態(tài)文件請(qǐng)求就默認(rèn)是動(dòng)態(tài)請(qǐng)求,自己根據(jù)實(shí)際把握
畢竟目前的一些框架的流行,帶.php,.jsp后綴的情況很少了

location / {
   proxy_pass http://tomcat:8080/
}

1.3 Location解析過(guò)程

Nginx擴(kuò)展篇之Location語(yǔ)法規(guī)則

梳理[大概]:
1、 先判斷精準(zhǔn)命中,如果命中,立即返回結(jié)果并結(jié)束解析過(guò)程。
2、 判斷普通命中,如果有多個(gè)命中,“記錄”下來(lái)“最長(zhǎng)”的命中結(jié)果(記錄但不結(jié)束,最長(zhǎng)的為準(zhǔn))[一會(huì)還要梳理]。
3、 繼續(xù)判斷正則表達(dá)式的解析結(jié)果,按配置里的正則表達(dá)式順序?yàn)闇?zhǔn),由上至下開始匹配,一旦匹配成功1個(gè),立即返回結(jié)果,并結(jié)束解析過(guò)程。
4、 普通命中順序無(wú)所謂,是因?yàn)榘疵械拈L(zhǎng)短來(lái)確定。正則命中,順序有所謂,因?yàn)槭菑那巴竺械摹?span toymoban-style="hidden">文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-479918.html

到了這里,關(guān)于Nginx擴(kuò)展篇之Location語(yǔ)法規(guī)則的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Spring Security 6.x 系列【51】授權(quán)篇之動(dòng)態(tài)權(quán)限規(guī)則

    有道無(wú)術(shù),術(shù)尚可求,有術(shù)無(wú)道,止于術(shù)。 本系列Spring Boot 版本 3.1.0 本系列Spring Security 版本 6.1.0 源碼地址:https://gitee.com/pearl-organization/study-spring-security-demo 在開始閱讀本篇文檔前,您需要了解以下文檔的相關(guān)知識(shí): Spring Security 6.x 系列【16】授權(quán)篇之訪問(wèn)控制 Spring Securi

    2024年02月07日
    瀏覽(26)
  • Nginx重寫功能location與rewrite

    Nginx重寫功能location與rewrite

    從功能看 rewrite 和 location 似乎有點(diǎn)像,都能實(shí)現(xiàn)跳轉(zhuǎn),主要區(qū)別在于 rewrite 是在同一域名內(nèi)更改獲取資源的路徑,而 location 是對(duì)一類路徑做控制訪問(wèn)或反向代理,還可以proxy_pass 到其他機(jī)器。 rewrite 對(duì)訪問(wèn)的域名或者域名內(nèi)的URL路徑地址重寫。 location 對(duì)訪問(wèn)的路徑做訪問(wèn)控

    2024年01月20日
    瀏覽(22)
  • 理解nginx的 location 和root

    理解nginx的 location 和root

    1.如果理解 location 和root 當(dāng)用戶輸入 localhost:8080 / 時(shí),首先會(huì)匹配到 location / 即 箭頭1所指向 ,然后再去 root 下尋找根目錄 /home/www 即 箭頭2所指方向 , 總結(jié)來(lái)說(shuō)當(dāng)用戶在瀏覽器輸入 localhost:8080 / 時(shí)(當(dāng)然你不加/也默認(rèn)也是訪問(wèn)的也是根目錄/),nginx 會(huì)向 本機(jī)的 /home/www / 尋找資源

    2023年04月08日
    瀏覽(16)
  • nginx之location的優(yōu)先級(jí)和nginx的重定向

    nginx之location的優(yōu)先級(jí)和nginx的重定向

    nginx的正則表達(dá)式 符號(hào) 含義 ^ 字符串的起始位置(以什么開頭) $ 字符串的結(jié)束位置(以什么結(jié)尾) * 匹配所有 + 匹配前面的字符最少1次 ? 匹配前面的字符0次或者1次 . 任意單個(gè)字符 {n} 連續(xù)重復(fù)出現(xiàn)n次 {n,m} 連續(xù)重復(fù)n-m次 [c] 匹配單個(gè)字符c () 分組 | 或 1、精確匹配:完整路

    2024年02月03日
    瀏覽(18)
  • Nginx 中 location 塊配置詳解和實(shí)列

    location 指令是 nginx 中最關(guān)鍵的指令之一,location 指令的功能是用來(lái)匹配不同的 URI 請(qǐng)求,進(jìn)而對(duì)請(qǐng)求做不同的處理和響應(yīng),這其中較難理解的是多個(gè) location 的匹配順序,本文會(huì)作為重點(diǎn)來(lái)解釋和說(shuō)明。 開始之前先明確一些約定,我們輸入的網(wǎng)址叫做請(qǐng)求 URI,nginx 用請(qǐng)求 UR

    2024年02月14日
    瀏覽(19)
  • Unity編輯擴(kuò)展:功能篇之Json數(shù)據(jù)編輯器

    Unity編輯擴(kuò)展:功能篇之Json數(shù)據(jù)編輯器

    前言 編輯器擴(kuò)展算是比較純粹的功能開發(fā),基本沒(méi)有什么理論知識(shí),都是一些 Unity 相關(guān)接口的使用與數(shù)據(jù)類型的設(shè)計(jì)操作等。在本篇文章主要的文字描述基本都是在做代碼解釋,為了使內(nèi)容接受度更高,我會(huì)盡量描述到代碼結(jié)構(gòu)中的每個(gè)細(xì)節(jié)。如果有對(duì)此不太了解又很感興

    2024年02月06日
    瀏覽(25)
  • Nginx 【location配置路徑詳解、反向代理、負(fù)載均衡】

    在使用nginx時(shí),我們配置最多的就是location項(xiàng)了。方向代理、負(fù)載均衡、靜態(tài)資源服務(wù)器這些高頻使用的共能點(diǎn),幾乎主要都在location配置。本文內(nèi)容將包含上訴功能,并詳細(xì)介紹location的匹配規(guī)則。 location的匹配語(yǔ)法分成兩個(gè)部分, [] 括號(hào)中的時(shí)匹配符,決定以何種方式進(jìn)行

    2024年02月03日
    瀏覽(25)
  • Nginx location匹配優(yōu)先級(jí) 與 Rewrite

    Nginx location匹配優(yōu)先級(jí) 與 Rewrite

    從功能看 rewrite 和 location 似乎有點(diǎn)像,都能實(shí)現(xiàn)跳轉(zhuǎn),主要區(qū)別在于 rewrite 是在同一個(gè)域名內(nèi)更改獲取資源的路徑,而 location 是對(duì)一類路徑做控制訪問(wèn)或反向代理 ,還可以 proxy_pass 到其它機(jī)器。 rewrite 對(duì)訪問(wèn)的域名或者域名內(nèi)的URL路徑地址重寫 location 對(duì)訪問(wèn)的路徑做訪問(wèn)控

    2024年02月08日
    瀏覽(63)
  • nginx的location與rewrite作用與用法

    nginx的location與rewrite作用與用法

    nginx rewrite 重寫跳轉(zhuǎn) location 匹配uri location 匹配的規(guī)則和優(yōu)先級(jí)。重點(diǎn) nginx常用的變量,要求掌握 rewrite:重定向功能。掌握,理解。 local location 匹配: 正則表達(dá)式: 元字符: .:任意單個(gè)字符,包括漢字 .(表示就是一個(gè)點(diǎn)) ^:起始位置 $:結(jié)束位置 *:匹配前面的字符0次或

    2024年02月13日
    瀏覽(15)
  • Nginx 默認(rèn)location index設(shè)置網(wǎng)站的默認(rèn)首頁(yè)

    Nginx 默認(rèn)location index設(shè)置網(wǎng)站的默認(rèn)首頁(yè)

    /斜杠代表location定位的路徑,路徑當(dāng)中最重要的字段就是root。 root默認(rèn)值就是html,這個(gè)就是nginx安裝路徑下面的html文件夾作為root的路徑。默認(rèn)不配置就是root下面的內(nèi)容,index指定了主頁(yè)的內(nèi)容。 location斜杠表示服務(wù)的根目錄,這里index指令是去指定首頁(yè)。? root你這里可以更

    2024年02月06日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包