Назад | Перейти на главную страницу

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

Если я попытаюсь установить канонический веб-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/