如何配置 Nginx 的反向代理,使多個端口代理到同一端口的不同目錄上?我有應(yīng)用 a 、b 和 c ,各自運行在 8001 、8002 和 8003 端口上。服務(wù)器沒有配置域名,所以訪問地址是 ip:8001 、ip:8002 和 ip:8003 ?,F(xiàn)在我想用 Nginx 實現(xiàn),只開放一個 80 端口,然后通過不同的目錄來訪問不同的服務(wù)。我期望訪問地址可以變成 ip:80/a 、ip:80/b 和 ip:80/c 。并且該應(yīng)用下所有的資源請求都是基于該路徑下。比如 ip:80/a 可以跳轉(zhuǎn)到 ip:80/a/login ,而不是 ip:80/login ,注意目錄的不同。我的 /etc/nginx/conf.d/default.conf 如下:server { listen 80; server_name localhost; location /a { proxy_pass http://127.0.0.1:8001/;
} location /b { proxy_pass http://127.0.0.1:8002/;
} location /c { proxy_pass http://127.0.0.1:8003/;
}
}按我上面的配置,輸入 ip:80/a 的確看到成功代理了 ip:8001 的應(yīng)用,只看首頁,一切都是正常的。但是一跳轉(zhuǎn) ip:80/a/user/** 這樣的多級目錄,就失敗了,變成 ip:80/user/** 。我也試過按官方文檔,用正則配置 location 或用 rewrite ,都無法實現(xiàn)我想要的效果。謝謝指教。
Nginx 如何反向代理多個端口到同一端口不同目錄上?
ibeautiful
2019-03-04 17:11:24