Nginx中proxy_pass指令斜杠的作用及說(shuō)明
前言
在使用Nginx的proxy_pass指令時(shí),添加或不添加斜杠(/)會(huì)影響代理請(qǐng)求的行為
下面我就詳細(xì)說(shuō)明下,防止大家在配置的時(shí)候出現(xiàn)問(wèn)題
沒(méi)有斜杠
當(dāng)proxy_pass后面沒(méi)有斜杠時(shí),代理服務(wù)器將會(huì)保留原始URI的路徑,并將其追加到proxy_pass指定的后端服務(wù)器地址中。
簡(jiǎn)單來(lái)說(shuō),當(dāng)proxy_pass代理地址端口后沒(méi)有斜杠(/)和目錄,轉(zhuǎn)發(fā)后的地址就是代理服務(wù)器地址加請(qǐng)求的URL路徑
舉個(gè)例子
加入nginx服務(wù)器的地址是:192.168.30.120
配置如下
location /api {
proxy_pass http://192.168.30.121:8083;
}
proxy_pass的代理地址只有ip和端口,后面沒(méi)有斜杠和目錄
這時(shí)候我們請(qǐng)求http://192.168.30.120:80/api/a,那么會(huì)轉(zhuǎn)發(fā)到http://192.168.30.121:8083/api/a
相當(dāng)于把路徑直接拼接到我們的代理服務(wù)器地址
有斜杠
當(dāng)proxy_pass后面添加了斜杠(/)時(shí),那么會(huì)把匹配 location 的內(nèi)容從請(qǐng)求路徑中剔除,然后將剩下的路徑拼接到proxy_pass的地址
舉個(gè)例子
加入nginx服務(wù)器的地址是:192.168.30.120
location /api {
proxy_pass http://192.168.30.121:8083/;
}
可以看到,proxy_pass的代理地址后有斜杠(/),這時(shí)候我們請(qǐng)求http://192.168.30.120:80/api/a,那么會(huì)轉(zhuǎn)發(fā)到http://192.168.30.121:8083/a,路徑中的/api會(huì)被剔除
還有一種情況, proxy_pass的結(jié)尾沒(méi)有斜杠,但是ip端口后有斜杠,那么location 的路徑會(huì)被剔除嗎?
答案是會(huì)的
舉個(gè)例子
配置如下
location /api {
proxy_pass http://192.168.30.121:8083/test;
}
我們請(qǐng)求http://192.168.30.120:80/api/a,會(huì)被轉(zhuǎn)發(fā)到http://192.168.30.121:8083/test/a,/api依舊是被剔除的
注意:
nginx把location 地址剔除是包括/斜杠的,所以如果我們的配置如下
location /api/ {
proxy_pass http://192.168.30.121:8083/test;
}
那么/api/就會(huì)被剔除,注意這里因?yàn)槲覀冊(cè)?api后面也加上了/,那么會(huì)把路徑中api的前后/斜杠也剔除
比如我們請(qǐng)求http://192.168.30.120:80/api/a,那么會(huì)被轉(zhuǎn)發(fā)到http://192.168.30.121:8083/testa
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
nginx實(shí)現(xiàn)動(dòng)靜分離實(shí)例講解
在本篇文章里小編給大家整理的是關(guān)于nginx實(shí)現(xiàn)動(dòng)靜分離實(shí)例講解,需要的朋友們可以參考下。2020-03-03
通過(guò)瀏覽器查看nginx服務(wù)器狀態(tài)配置方法
這篇文章主要介紹了通過(guò)瀏覽器查看nginx服務(wù)器狀態(tài)配置方法,本文講解開(kāi)啟nginx-status的配置方法,并對(duì)服務(wù)器的參數(shù)做了詳細(xì)講解,需要的朋友可以參考下2015-04-04
Nginx 處理超長(zhǎng) Cookie 導(dǎo)致的 400 錯(cuò)誤
本文主要介紹了Nginx 處理超長(zhǎng) Cookie 導(dǎo)致的 400 錯(cuò)誤,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2026-04-04
Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解
這篇文章主要介紹了Nginx反向代理一個(gè)80端口下配置多個(gè)微信項(xiàng)目詳解的相關(guān)資料,需要的朋友可以參考下2017-02-02
Nginx?部署及配置詳細(xì)步驟(附詳細(xì)代碼)
Nginx是一個(gè)web服務(wù)器也可以用來(lái)做負(fù)載均衡及反向代理使用,目前使用最多的就是負(fù)載均衡,這篇文章主要介紹了Nginx部署及配置的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-11-11
nginx全局塊的user指令的實(shí)現(xiàn)示例
user用于配置運(yùn)行Nginx服務(wù)器的worker進(jìn)程的用戶(hù)和用戶(hù)組,本文主要介紹了nginx全局塊的user指令的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-07-07

