当我设置 gerrit.canonicalWebUrl 时,“页面未正确重定向”

当我设置 gerrit.canonicalWebUrl 时,“页面未正确重定向”

安装 Gerrit 后,请Using Gerrit in production按照以下部分操作https://github.com/GerritCodeReview/docker-gerrit,该字段被自动设置为该值:

[gerrit]
        canonicalWebUrl = http://eac32ee72f2b/

我想在反向代理后面使用 Gerrit,因此我像这样配置了 Apache2:

ProxyPass / http://192.168.19.241:8080/ nocanon

这有效,但只要我设置gerrit.canonicalWebUrlhttps://gerrit.example.com,我就会得到页面未正确重定向浏览器中的 URL 变为https://gerrit.example.com//login/

如果我尝试将规范的网址设置为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

有人能告诉我我做错了什么吗?我想设置正确的网址,因为它在通过 HTTP 签出存储库的链接中可见,也可能在其他地方可见。

答案1

我错过了这一章:https://gerrit-review.googlesource.com/Documentation/config-reverseproxy.html#_ssl

它被写成在使用 HTTPS 和 Apache2 时使用proxy-https而不是。它都使用这个配置工作:proxy-http

[httpd]
    listenUrl = proxy-https://*:8080/

相关内容