redmine с умным http и redmine_git_hosting не позволяет отправлять в хранилище - PullRequest
0 голосов
/ 25 мая 2018

Версия Redmine: 3.4.4.stable версия плагина redmine_git_hosting: 1.2.3 gitolite v.3

HTTPS доступ только к репозиториям.Я могу клонировать ОК, но при нажатии я получаю следующую ошибку:

fatal: Authentication failed for '<repo URL>'

На стороне сервера в git_hosting.log я получаю следующую ошибку:

SmartHttp : your are trying to push data without SSL!, exiting !

Я запуталсяистинная причина проблемы

Файл конфигурации моего виртуального хоста redmine:

`<VirtualHost *:443>
    ServerName .....
    ServerAlias ......
    ServerAdmin ....
    DocumentRoot  /opt/redmine/public
    PassengerRuby ......
    PassengerFriendlyErrorPages on

    ErrorLog /var/log/httpd/redmine-error_log
    CustomLog /var/log/httpd/redmine-access_log common

    <Directory "/opt/redmine">
      Require all granted
      # MultiViews must be turned off
      Options -MultiViews
    </Directory>

    PerlLoadModule Apache::Authn::Redmine

    <Location />
     Order allow,deny
     Allow from all

    PerlAccessHandler Apache::Authn::Redmine::access_handler
    PerlAuthenHandler Apache::Authn::Redmine::authen_handler

    RedmineDSN "DBI:Pg:database=redmine;host=127.0.0.1"
    RedmineDbUser "redmine"
    RedmineDbPass "xxxxx"

    RedmineGitSmartHttp yes
  </Location>
</VirtualHost>`

Заранее спасибо за любую помощь!

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Это проблема с завершением SSL, когда вы общаетесь с Git через HTTP / HTTPS.

Если вы используете Redmine за обратным прокси-сервером NGINX, вам нужно добавить дополнительный заголовок, чтобы сохранить информацию об оригинале.схема запроса:

proxy_set_header   X-Forwarded-Proto $scheme;

Для Apache, выполняющего завершение SSL, значения должны быть:

RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
RequestHeader set "X-Forwarded-SSL" expr=%{HTTPS}

В вашем случае вы прослушиваете *: 443 и не указали настройки сертификата SSLдля вашего виртуального хоста.Другой вариант - установить «Только HTTP» для SmartHTTP в настройках Redmine.

0 голосов
/ 28 мая 2018

ОК, я понял (спасибо неясным сообщениям об ошибках).Я должен быть единственным, кто использует https!В основном в моей конфигурации виртуального хоста отсутствуют 3 записи о SSL:

SSLEngine on SSLCertificateFile SSLCertificateKeyFile

...