"Страница не перенаправляет должным образом", когда я устанавливаю 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/
Другие вопросы по тегам