После установки Геррита следующие 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.canonicalWebUrl
к https://gerrit.example.com
, Я получил Страница не перенаправляется должным образом и URL-адрес в браузере станет https://gerrit.example.com//login/
.
Если я попытаюсь установить канонический веб-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
.
Может ли кто-нибудь сказать мне, что я делаю не так? Я хотел бы установить правильный веб-URL, потому что он отображается в ссылках на репозитории оформления заказа через HTTP, а также, возможно, в других местах.
Я пропустил эту главу: https://gerrit-review.googlesource.com/Documentation/config-reverseproxy.html#_ssl
Написано для использования proxy-https
вместо того proxy-http
при использовании HTTPS с Apache2. Все работало с такой конфигурацией:
[httpd]
listenUrl = proxy-https://*:8080/