2016-05-02 3 views
0

У меня есть экземпляр Gerrit Code Review, который я настраиваю за обратным прокси. Файл конфигурации для этого:Gerrit Code Review за обратным прокси

[gerrit] 
    basePath = git 
    canonicalWebUrl = http://my-host:8090/ 
[database] 
    type = postgresql 
    hostname = db-host 
    database = reviewdb 
    username = gerrit2 
[index] 
    type = LUCENE 
[auth] 
    type = HTTP 
[receive] 
    enableSignedPush = false 
[sendemail] 
    smtpServer = localhost 
[container] 
    user = gerrit2 
    javaHome = /usr/lib/jvm/java-7-openjdk-amd64/jre 
[sshd] 
    listenAddress = *:29418 
[httpd] 
    listenUrl = proxy-http://my-host:9090/ 
[cache] 
    directory = cache 

Затем я попытался настроить Apache VirtualHost с проверкой подлинности, чтобы пройти Геррит, используя существующий переваривать у меня есть. Ниже приводится конф файл в VirtualHost:

<VirtualHost *:9090> 
    ServerName my-host 

    ProxyRequests Off 
    ProxyVia Off 
    ProxyPreserveHost On 

    <Proxy *> 
    Order deny,allow 
    Allow from all 
    </Proxy> 

    <Location /login/> 
    AuthType Digest 
    AuthName "bloodhound" 
    AuthDigestDomain /bloodhound 
    AuthUserFile /opt/bloodhound/environments/main/bloodhound.htdigest 
    Require valid-user 
    </Location> 

    AllowEncodedSlashes On 
    ProxyPass/http://my-host:8090/ 

</VirtualHost> 

Проблема заключается в том, что, когда я пытаюсь получить доступ к http://my-host:9090/login я получаю страницу ошибки из Геррит кода Обзор говорит:

Configuration Error 

Check the HTTP server's authentication settings. 

The HTTP server did not provide the username in the Authorization header when it forwarded the request to Gerrit Code Review. 

If the HTTP server is Apache HTTPd, check the proxy configuration includes an authorization directive with the proper location, ensuring it ends with '/': 

Это не для меня ясно, почему аутентификационная информация не отправляется (фактически, окно входа в систему даже не отображается для ввода в учетную запись). Есть идеи?

ответ

2

Вы перепутали номера портов в gerrit.config. Измените их следующим образом, чтобы они соответствовали вашему прокси-конфигурации:

[gerrit] 
    canonicalWebUrl = http://my-host:9090/ 

[httpd] 
    listenUrl = proxy-http://my-host:8090/ 

listenUrl также должен быть указан с помощью localhost для предотвращения обхода аутентификации.

+0

Когда я меняю номера портов и пытаюсь получить доступ к моему хосту: 9090, я получаю сообщение об ошибке отказа. Раньше, по крайней мере, я получал страницу с ошибкой проверки кода Gerrit, которая заставляла меня поверить, что часть прокси-сервера была настроена правильно. – fiveclubs

+0

Вы остановились, а затем снова начали обе услуги? – StephenKing

+0

Понял, что понял. Вы были абсолютно правы, мне нужно было переключить номера портов. Я смог решить это, когда у меня была некорректная конфигурация порта в настройке apache. Благодаря! – fiveclubs

Смежные вопросы