nginx中的location路徑配置(實(shí)路徑和虛路徑)
nginx location路徑配置(實(shí)路徑和虛路徑)
注:
- 本文要說(shuō)的不是
location的配置規(guī)則和內(nèi)容 - 而是基于
url的nginx代理轉(zhuǎn)發(fā)的后端接口的路徑配置
實(shí)路徑和虛路徑?
location配置路徑時(shí),是分實(shí)路徑和虛路徑的,并且路徑會(huì)影響到proxy_pass轉(zhuǎn)發(fā)時(shí)的路徑。
假如tomcat啟動(dòng)了一個(gè)名為online-registration的工程
登錄的后端接口如下所示:
@RestController
@RequestMapping("/user/login")
public class UserLoginController {
@RequestMapping()
public Object login() {
return "success";
}
}nginx的location配置如下所示:
自己測(cè)試時(shí)不要同時(shí)配置,避免混淆
# 虛路徑
location /v1/online {
proxy_pass http://1.1.1.1:8080/online-registration/ ;
}
# 實(shí)路徑
location /v1/online/user {
proxy_pass http://1.1.1.1:8080/online-registration/user ;
}結(jié)合接口的RequestMapping和nginx配置來(lái)看:
接口的路徑是 /user/login,location配置的/v1/online為虛擬路徑
它的proxy_pass配置到tomcat啟動(dòng)的工程名即可,/v1/online/user路徑中包含RequestMapping的關(guān)鍵字
它的proxy_pass路徑需要配置到工程名下的具體接口的路徑。
以瀏覽器訪問(wèn)虛路徑分析
location /v1/online {
proxy_pass http://1.1.1.1:8080/online-registration/ ;
}訪問(wèn)http://1.1.1.1/v1/online/user/login
nginx匹配url中的/v1/online時(shí)
nginx會(huì)將online后面的user/login自動(dòng)的添加到proxy_pass轉(zhuǎn)發(fā)的路徑/online-registration/后面
即nginx轉(zhuǎn)發(fā)的實(shí)際路徑為: http://1.1.1.1:8080/online-registration/user/login
正確的訪問(wèn)后端接口;
以瀏覽器訪問(wèn)實(shí)路徑分析
location /v1/online/user {
proxy_pass http://1.1.1.1:8080/online-registration/user ;
}訪問(wèn)http://1.1.1.1/v1/online/user/login,同虛路徑的訪問(wèn)方式一致。
但是如果proxy_pass的配置是http://1.1.1.1:8080/online-registration;
那么nginx代理時(shí)
轉(zhuǎn)發(fā)的實(shí)際路徑為:http://1.1.1.1:8080/online-registration/login
如果你的項(xiàng)目只有/user/login接口,而沒(méi)有/login接口時(shí),就會(huì)出現(xiàn)訪問(wèn)異常。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx 配置 proxy_hide_header 隱藏后端 Server&n
Nginx反向代理場(chǎng)景中,后端服務(wù)常會(huì)在響應(yīng)頭中暴露版本信息,使用proxy_hide_header指令可以在Nginx層將其過(guò)濾掉,本文就來(lái)詳細(xì)的介紹一下Nginx隱藏后端 Server 的版本信息的實(shí)現(xiàn),感興趣的可以了解一下2026-04-04
Windows上啟動(dòng)停止Nginx服務(wù)器的實(shí)用指南
在 Windows 上開(kāi)發(fā) Django、Vue 或其他 Web 項(xiàng)目時(shí),Nginx 往往是我們最常用的反向代理服務(wù)器,下面小編就和大家介紹幾個(gè)在Windows系統(tǒng)上管理Nginx服務(wù)器的實(shí)用方案吧2026-02-02
nginx實(shí)時(shí)請(qǐng)求監(jiān)測(cè)的項(xiàng)目實(shí)踐
本文主要介紹了nginx實(shí)時(shí)請(qǐng)求監(jiān)測(cè),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-12-12
使用nginx搭建點(diǎn)播和直播流媒體服務(wù)器的方法步驟
本篇文章主要介紹了使用nginx搭建點(diǎn)播和直播流媒體服務(wù)器的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03
nginx部署vue項(xiàng)目,給訪問(wèn)路徑加前綴的實(shí)現(xiàn)
這篇文章主要介紹了nginx部署vue項(xiàng)目,給訪問(wèn)路徑加前綴的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12

