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
以上兩個匹配成功后,實(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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解使用Nginx和uWSGI配置Python的web項目的方法
這篇文章主要介紹了使用Nginx和uWSGI配置Python的web項目的方法,與其他CGI連接方式相比uwsgi的連接性能也較為出眾,需要的朋友可以參考下2015-12-12
Nginx服務(wù)器中l(wèi)ocation配置的一些基本要點(diǎn)解析
這篇文章主要介紹了Nginx服務(wù)器中l(wèi)ocation配置的一些基本要點(diǎn)解析,特別對管理以及查找匹配作出了詳細(xì)的講解,需要的朋友可以參考下2015-12-12
nginx部署前端post請求405?not?allowed問題解決
在配置前端項目的時候遇到了一個post請求405 not allowed,簡單記錄一下如何配置,這篇文章主要給大家介紹了關(guān)于nginx部署前端post請求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

