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