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

詳解nginx?中l(wèi)ocation和?proxy_pass的匹配規(guī)則

 更新時(shí)間:2025年04月08日 14:08:03   作者:仁義禮智信的  
location是Nginx中用來(lái)匹配客戶端請(qǐng)求URI的指令,決定如何處理特定路徑的請(qǐng)求,它定義了請(qǐng)求的路由規(guī)則,后續(xù)的配置(如?proxy_pass)會(huì)應(yīng)用在匹配的請(qǐng)求上,這篇文章主要介紹了nginxlocation和proxy_pass的匹配規(guī)則,需要的朋友可以參考下

我來(lái)詳細(xì)解釋 location 和 proxy_pass 的作用以及它們?cè)谀愕睦又械暮x。

location 的作用

location 是 Nginx 中用來(lái)匹配客戶端請(qǐng)求 URI 的指令,決定如何處理特定路徑的請(qǐng)求。它定義了請(qǐng)求的路由規(guī)則,后續(xù)的配置(如 proxy_pass)會(huì)應(yīng)用在匹配的請(qǐng)求上。

語(yǔ)法

location [修飾符] 匹配模式 {
    # 配置塊
}
  • 修飾符:可選,比如 =(精確匹配)、~(正則匹配)等。
  • 匹配模式:可以是具體路徑、正則表達(dá)式等。

示例:location /test

location /test {
    proxy_pass http://abc.com;
}
  • 含義
    • 當(dāng)客戶端請(qǐng)求的 URI 以 /test 開(kāi)頭時(shí),這個(gè) location 塊會(huì)被匹配。
    • 比如請(qǐng)求 http://yourdomain.com/test 或 http://yourdomain.com/test/abc 都會(huì)進(jìn)入這個(gè)塊。
  • URI 處理
    • 默認(rèn)情況下,Nginx 會(huì)把請(qǐng)求的完整 URI(包括 /test 部分)傳遞給后端,除非 proxy_pass 有特殊配置。

proxy_pass 的作用

proxy_pass 指定將請(qǐng)求代理到的后端服務(wù)器地址(可以是域名、IP 或上游服務(wù)器組)。它定義了請(qǐng)求的目標(biāo)。

語(yǔ)法

proxy_pass 協(xié)議://目標(biāo)地址;

示例:proxy_pass http://abc.com/tt

location /test {
    proxy_pass http://abc.com/tt;
}
  • 含義
    • 將匹配 location /test 的請(qǐng)求轉(zhuǎn)發(fā)到 http://abc.com/tt
    • 后端服務(wù)器會(huì)收到轉(zhuǎn)發(fā)的請(qǐng)求,具體 URI 取決于配置細(xì)節(jié)。

結(jié)合 location /test 和 proxy_pass http://abc.com/tt

讓我解釋這倆組合起來(lái)的效果:

默認(rèn)行為(帶路徑替換)

location /test {
    proxy_pass http://abc.com/tt;
}
  • 客戶端請(qǐng)求http://yourdomain.com/test/abc
  • 轉(zhuǎn)發(fā)到后端http://abc.com/tt/abc
  • 解釋
    • location /test 匹配請(qǐng)求的 /test 前綴。
    • Nginx 會(huì)把 /test 后面的部分(/abc)保留下來(lái)。
    • proxy_pass http://abc.com/tt 指定目標(biāo)地址為 http://abc.com/tt,并把剩余路徑(/abc)追加到后面。
    • 最終后端收到的是 http://abc.com/tt/abc

加斜杠的效果(不替換路徑)

如果在 proxy_pass 后加斜杠:

location /test {
    proxy_pass http://abc.com/tt/;
}
  • 客戶端請(qǐng)求http://yourdomain.com/test/abc
  • 轉(zhuǎn)發(fā)到后端http://abc.com/tt/abc
  • 解釋
    • 加了斜杠 / 后,Nginx 不會(huì)把 location 的 /test 部分替換掉,而是直接把請(qǐng)求的剩余路徑(/abc)追加到 http://abc.com/tt/ 后面。
    • 結(jié)果和上面一樣,但邏輯更明確。

不帶具體路徑

location /test {
    proxy_pass http://abc.com;
}
  • 客戶端請(qǐng)求http://yourdomain.com/test/abc
  • 轉(zhuǎn)發(fā)到后端http://abc.com/test/abc
  • 解釋
    • 因?yàn)?nbsp;proxy_pass 沒(méi)有指定具體路徑(只有域名),Nginx 會(huì)把客戶端的完整 URI(/test/abc)直接傳遞給后端。

常見(jiàn)配置模式

  • 精確匹配路徑
location = /test {
    proxy_pass http://abc.com/tt;
}
  • 只匹配 http://yourdomain.com/test,不會(huì)匹配 /test/abc
  • 轉(zhuǎn)發(fā)到 http://abc.com/tt(不帶額外路徑)。
  • 去掉前綴
location /test/ {
    proxy_pass http://abc.com/;
}
  • 請(qǐng)求 http://yourdomain.com/test/abc 轉(zhuǎn)發(fā)到 http://abc.com/abc。
  • /test/ 被去掉,只保留后面的部分。
  • 正則匹配
location ~ ^/test/(.*)$ {
    proxy_pass http://abc.com/tt/$1;
}
  • 請(qǐng)求 http://yourdomain.com/test/abc 轉(zhuǎn)發(fā)到 http://abc.com/tt/abc。
  • 使用正則捕獲組 $1 動(dòng)態(tài)傳遞路徑。

總結(jié)

  • location /test:匹配以 /test 開(kāi)頭的請(qǐng)求。
  • proxy_pass http://abc.com/tt:將請(qǐng)求轉(zhuǎn)發(fā)到 abc.com/tt,默認(rèn)保留 /test 后的路徑并追加到 /tt 后。
  • 關(guān)鍵點(diǎn):是否加斜杠(/)、是否用正則,會(huì)影響路徑的傳遞方式。

到此這篇關(guān)于nginx `location` 和 `proxy_pass`的匹配規(guī)則的文章就介紹到這了,更多相關(guān)nginx  location  和 proxy_pass匹配規(guī)則內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • nginx上部署react項(xiàng)目的實(shí)例方法

    nginx上部署react項(xiàng)目的實(shí)例方法

    今天小編就為大家分享一篇關(guān)于nginx上部署react項(xiàng)目的實(shí)例方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • 利用nginx搭建靜態(tài)資源服務(wù)器的方法步驟

    利用nginx搭建靜態(tài)資源服務(wù)器的方法步驟

    這篇文章主要介紹了利用nginx搭建靜態(tài)資源服務(wù)器的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Nginx代理MySQL實(shí)現(xiàn)通過(guò)域名連接數(shù)據(jù)庫(kù)的詳細(xì)教程

    Nginx代理MySQL實(shí)現(xiàn)通過(guò)域名連接數(shù)據(jù)庫(kù)的詳細(xì)教程

    我們的生產(chǎn)環(huán)境基本上都部署在云服務(wù)器上,例如應(yīng)用服務(wù)器、MySQL服務(wù)器等,如果MySQL服務(wù)器直接暴露在公網(wǎng),就會(huì)存在很大的風(fēng)險(xiǎn),為了保證數(shù)據(jù)安全,MySQL服務(wù)器的端口是不對(duì)外開(kāi)放的,所以本文介紹了Nginx代理MySQL實(shí)現(xiàn)通過(guò)域名連接數(shù)據(jù)庫(kù)的詳細(xì)教程
    2024-07-07
  • Nginx+SSL實(shí)現(xiàn)雙向認(rèn)證的示例代碼

    Nginx+SSL實(shí)現(xiàn)雙向認(rèn)證的示例代碼

    這篇文章主要介紹了Nginx+SSL實(shí)現(xiàn)雙向認(rèn)證的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Nginx搭建RTMP流媒體服務(wù)器的實(shí)現(xiàn)

    Nginx搭建RTMP流媒體服務(wù)器的實(shí)現(xiàn)

    本文主要介紹了Nginx搭建RTMP流媒體服務(wù)器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 封80端口應(yīng)對(duì)策略 Nginx反向代理For WIN2003超級(jí)傻瓜式配置

    封80端口應(yīng)對(duì)策略 Nginx反向代理For WIN2003超級(jí)傻瓜式配置

    封80應(yīng)對(duì)策略,Nginx反向代理ForWIN2003超級(jí)傻瓜式配置!
    2010-03-03
  • Nginx平滑升級(jí)的詳細(xì)操作方法

    Nginx平滑升級(jí)的詳細(xì)操作方法

    這篇文章主要介紹了Nginx平滑升級(jí)的詳細(xì)操作方法,適應(yīng)編譯安裝ningx的情況,yum安裝的直接用yum更新即可,需要的朋友可以參考下
    2014-03-03
  • Nginx 虛擬主機(jī)配置的三種方式(基于域名)

    Nginx 虛擬主機(jī)配置的三種方式(基于域名)

    Nginx配置虛擬主機(jī)支持3種方式:基于IP的虛擬主機(jī)配置,基于端口的虛擬主機(jī)配置,基于域名的虛擬主機(jī)配置。本文主要介紹了基于域名的實(shí)現(xiàn),感興趣的小伙伴們可以參考一下
    2018-10-10
  • centos7 docker 修改Nginx文件過(guò)程詳解

    centos7 docker 修改Nginx文件過(guò)程詳解

    這篇文章主要介紹了centos7 docker 修改Nginx文件過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 前端開(kāi)發(fā)用得著的nginx配置(場(chǎng)景)

    前端開(kāi)發(fā)用得著的nginx配置(場(chǎng)景)

    這篇文章主要介紹了前端開(kāi)發(fā)用得著的nginx配置,前端的工作過(guò)程里,本地開(kāi)發(fā)、提供測(cè)試環(huán)境,總得有個(gè)用著順手的服務(wù)器軟件,這個(gè)場(chǎng)景里nginx很流行,特分享下需要的朋友可以參考下
    2014-09-09

最新評(píng)論