从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 检出存储库的链接中可见,也可能在其他地方可见。