當我設置 gerrit.canonicalWebUrl 時,“頁面沒有正確重定向”
從https://github.com/GerritCodeReview/docker-gerrit安裝 Gerrit 以下
Using Gerrit in production
部分後,該欄位自動設置為此值:[gerrit] canonicalWebUrl = http://eac32ee72f2b/
我想在反向代理後面使用 Gerrit,所以我這樣配置 Apache2:
ProxyPass / http://192.168.19.241:8080/ nocanon
這有效,但是一旦我設置
gerrit.canonicalWebUrl
為https://gerrit.example.com
,我得到頁面沒有正確重定向並且瀏覽器中的 URL 變為https://gerrit.example.com//login/
.如果我嘗試將規範的 web url 設置為
https://gerrit.example.com/g/
並將 Apache2 相應地更新為:ProxyPass /g/ http://192.168.19.241:8080/g/ nocanon
我在瀏覽器中收到“未找到”消息,並且欄中的 URL 現在顯示為
https://gerrit.example.com/g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g//g
. 如果我檢查 HTTP 標頭,對於頁面的初始請求,https://gerrit.example.com/g
我會得到 301 重定向到https://gerrit.example.com/g//g
.在所有情況下,配置
httpd.listenUrl
都是proxy-http://*:8080
.誰能告訴我我做錯了什麼?我想設置正確的 Web URL,因為它在通過 HTTP 檢出儲存庫的連結中可見,也可能在其他地方可見。
我錯過了這一章:https ://gerrit-review.googlesource.com/Documentation/config-reverseproxy.html#_ssl
它被編寫用來
proxy-https
代替proxy-http
在 Apache2 中使用 HTTPS 時使用。這一切都適用於這個配置:[httpd] listenUrl = proxy-https://*:8080/