nginx反向代理如何替換URL
前言
nginx 提供反向代理服務(wù),日常開發(fā)過程中有時候我們需要使用nginx 作為代理服務(wù)根據(jù)url的不同去訪問不同的服務(wù)器或者不同端口,如下提供兩種方案。
一、location作用
location作用:根據(jù)用戶請求的URL來執(zhí)行
location配置中:
- 當(dāng)用戶請求“/”時,將匹配configuration A
- 當(dāng)用戶請求“/index.html/”時,將匹配configuration B
- 當(dāng)用戶請求“/documents/document.html/”時,將匹配configuration C
- 當(dāng)用戶請求/images/1.gif/時,將匹配configuration D
- 當(dāng)用戶請求/documents/1.(gif|jpg|jpeg)$時,將匹配configuration E
二、直接替換location 匹配部分
1.proxy_pass的目標(biāo)地址,默認(rèn)不帶/
只代理域名,URL和參數(shù)部分不會變(把請求的path拼接到proxy_pass目標(biāo)域名之后作為代理的URL)
2.proxy_pass目標(biāo)地址后增加/
則表示把path中l(wèi)ocation匹配成功的部分剪切掉之后再拼接到proxy_pass目標(biāo)地址
如下圖所示:
代理地址是:192.168.6.122:5840/deep/Plato
以上兩個匹配成功后,實際代理的URL分別是
1.location /deep:
- 訪問地址:http://10.15.32.22:5840/deep/Plato
- 把/deep/Plato直接拼接到proxy_pass 的地址http://10.15.32.22:5840后面;
2.location /deep/
- 訪問地址: http://10.15.32.22:5840/Plato
- 去掉匹配到location /deep/拼接到proxy_pass 的地址http://10.15.32.22:5840后面;
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用nginx+tomcat+keepalived實現(xiàn)高可用的詳細(xì)步驟
這篇文章主要介紹了nginx+tomcat+keepalived實現(xiàn)高可用,包括安裝nginx服務(wù)的步驟,詳細(xì)介紹了安裝keepalived的方法,對nginx+tomcat+keepalived高可用相關(guān)知識感興趣的朋友一起看看吧2022-03-03Nginx 緩存系統(tǒng) proxy_cache工作原理解析
Nginx 的 proxy_cache 模塊允許 Nginx 作為反向代理服務(wù)器時緩存后端服務(wù)器的響應(yīng),本文給大家介紹Nginx 緩存系統(tǒng) proxy_cache的工作原理,感興趣的朋友跟隨小編一起看看吧2024-12-12Nginx設(shè)置日志打印post請求參數(shù)的方法
這篇文章主要介紹了Nginx設(shè)置日志打印post請求參數(shù)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11