鍍金池/ 問(wèn)答/Linux  網(wǎng)絡(luò)安全  HTML/ 關(guān)于nginx的反向代理的問(wèn)題

關(guān)于nginx的反向代理的問(wèn)題

我本地有一個(gè)服務(wù)監(jiān)聽(tīng)4000端口http://127.0.0.1:4000,其下還有http://127.0.0.1:4000/test這種路徑。
現(xiàn)在我需要nginx配置8000端口下的 /proxy 代理到4000端口下的 /。
例如訪問(wèn)http://127.0.0.1:8000/proxy/會(huì)代理到http://127.0.0.1:4000/,訪問(wèn)http://127.0.0.1:8000/proxy/test會(huì)代理到http://127.0.0.1:4000/test。
但是自己配置失敗了,以下的錯(cuò)誤截圖和配置截圖。

圖片描述

圖片描述

圖片描述

圖片描述

以下是配置截圖
圖片描述

但是如果我配置location /test ,則可以代理到http://127.0.0.1:4000/test,以下是截圖

圖片描述

圖片描述

所以想請(qǐng)教一下關(guān)于這個(gè)問(wèn)題,該如何配置,有相關(guān)的文章或資料更好了。

回答
編輯回答
離夢(mèng)

location ^~ /proxy {

proxy_pass         http://127.0.0.1:4000;

}
試試這樣,應(yīng)該是匹配規(guī)則的問(wèn)題。
圖片描述

2018年6月6日 01:23
編輯回答
菊外人

你應(yīng)該在4000服務(wù)器下配置個(gè)rewrite

 rewrite ^/proxy/(.*)$ $1;

應(yīng)該是這么寫(xiě),你試一下

2017年9月30日 16:06
編輯回答
墨小白
location /proxy/ {
    rewrite /proxy/(.*) /$1 break;
    proxy_pass         http://127.0.0.1:4000;
    proxy_redirect     off;
}
2018年7月15日 14:57