搜尋

首頁  >  問答  >  主體

nginx反向代理 使用多個location url 配對到不同​​主機的不同服務,出現404問題

現有兩個服務應用程式位址:
192.168.5.20:5080 jenkins
192.168.5.20:2080 gitlab

#想在192.168.0.161(另一台機器)上部署nginx反向代理,設定兩個location,分別指向以上兩個位址,但總是會出現404錯誤。

如下配置:

#現象:
從瀏覽器存取:192.168.5.161/jenkins時:
瀏覽器網址列變成:192.168.5.161/login?from=%2F
頁面顯示404

#目的:
造訪192.168.5.161/jenkins時,瀏覽器url位址不變,頁面被轉送到192.168.5.20:5080,即jenkins所在的服務上。請問改如何改配置呢?

为情所困为情所困2753 天前1062

全部回覆(1)我來回復

  • 天蓬老师

    天蓬老师2017-05-16 17:12:20

    如果你的 Jenkins / GitLab 不支援配置成在 URL 路徑裡加個東西的話,那麼不要再這樣嘗試了。 nginx 可以做到重定向重寫,但是網頁裡還可能會有絕對路徑的連結。就算你把網頁都重寫了,網頁還是可能透過 JavaScript 建構成錯誤的連結。

    你可以設定兩個網域(vhosts),分別用來提供不同的服務。

    回覆
    0
  • 取消回覆