nginx反向代理如何替換URL
前言
nginx 提供反向代理服務(wù),日常開發(fā)過程中有時(shí)候我們需要使用nginx 作為代理服務(wù)根據(jù)url的不同去訪問不同的服務(wù)器或者不同端口,如下提供兩種方案。
一、location作用
location作用:根據(jù)用戶請(qǐng)求的URL來執(zhí)行

location配置中:
- 當(dāng)用戶請(qǐng)求“/”時(shí),將匹配configuration A
- 當(dāng)用戶請(qǐng)求“/index.html/”時(shí),將匹配configuration B
- 當(dāng)用戶請(qǐng)求“/documents/document.html/”時(shí),將匹配configuration C
- 當(dāng)用戶請(qǐng)求/images/1.gif/時(shí),將匹配configuration D
- 當(dāng)用戶請(qǐng)求/documents/1.(gif|jpg|jpeg)$時(shí),將匹配configuration E
二、直接替換location 匹配部分
1.proxy_pass的目標(biāo)地址,默認(rèn)不帶/
只代理域名,URL和參數(shù)部分不會(huì)變(把請(qǐng)求的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
以上兩個(gè)匹配成功后,實(shí)際代理的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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解使用Nginx和uWSGI配置Python的web項(xiàng)目的方法
這篇文章主要介紹了使用Nginx和uWSGI配置Python的web項(xiàng)目的方法,與其他CGI連接方式相比uwsgi的連接性能也較為出眾,需要的朋友可以參考下2015-12-12
Nginx服務(wù)器中l(wèi)ocation配置的一些基本要點(diǎn)解析
這篇文章主要介紹了Nginx服務(wù)器中l(wèi)ocation配置的一些基本要點(diǎn)解析,特別對(duì)管理以及查找匹配作出了詳細(xì)的講解,需要的朋友可以參考下2015-12-12
nginx部署前端post請(qǐng)求405?not?allowed問題解決
在配置前端項(xiàng)目的時(shí)候遇到了一個(gè)post請(qǐng)求405 not allowed,簡單記錄一下如何配置,這篇文章主要給大家介紹了關(guān)于nginx部署前端post請(qǐng)求405?not?allowed問題解決方法,需要的朋友可以參考下2023-09-09
Mac上搭建nginx+rtmp直播服務(wù)器的步驟詳解
最近的直播很火,所以這篇文章跟大家分享了在Mac上搭建nginx+rtmp直播服務(wù)器的步驟,文章通過一步步圖文介紹的很詳細(xì),有需要的朋友們可以參考借鑒。2016-09-09
網(wǎng)站如何通過nginx設(shè)置黑/白名單IP限制及國家城市IP訪問限制
如果你的服務(wù)器被攻擊很厲害,而且服務(wù)器是自己練手的,不需要其他用戶訪問的,那么就可以配置一下nginx的白名單,下面這篇文章主要給大家介紹了關(guān)于網(wǎng)站如何通過nginx設(shè)置黑/白名單IP限制及國家城市IP訪問限制的相關(guān)資料,需要的朋友可以參考下2022-07-07

