J'ai réussi à configurer Gitlab avec une interface Apache sur mon serveur. Comme le port SSL par défaut est déjà occupé i ajouté unSchéma HTTPS perdu dans le scénario proxy Apache lors de la redirection depuis Gitlab
Listen 444
aux ports Apache et un hôte virtuel comme
<VirtualHost *:444>
ServerSignature Off
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXP:!eNULL:!aNULL:RC4+RSA:+HIGH:-MEDIUM:!LOW:-SSLv2
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://unicornservers%{REQUEST_URI} [P,QSA,L]
ProxyPreserveHost On
ProxyPass /uploads !
ProxyPass /error !
<Proxy balancer://unicornservers>
BalancerMember http://127.0.0.1:8081
ProxyPassReverse https://my.server.de:444/
</Proxy>
# needed for downloading attachments
DocumentRoot /home/git/gitlab/public
<Location />
Order deny,allow
Allow from all
</Location>
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common_forwarded
ErrorLog /var/log/apache2/gitlab.error.log
CustomLog /var/log/apache2/gitlab.forwarded.log common_forwarded
CustomLog /var/log/apache2/gitlab.access.log combined env=!dontlog
CustomLog /var/log/apache2/gitlab.log combined
</VirtualHost>
L'objectif est de transmettre à la licorne locale (ce qui est le scénario standard en utilisant gitlab ce) .
Lorsque vous appelez
https:/my.server.de:444
je reçois une redirection vers/utilisateurs/sign_in (comme prévu), mais avec le schéma "http" situé dans l'emplacement d'en-tête HTTP. Manuellement, mais à chaque publication, l'emplacement de redirection manque à nouveau le schéma correct. Une idée de ce qui se passe? Le ProxyPassReverse ne devrait-il pas s'en charger?
merci. Je vais essayer ce week-end. un de mes problèmes dans la compréhension de cette configuration de proxy est que je ne comprends pas vraiment la signification de ProxyPassReverse. – mtraut
'ProxyPass' transmet les requêtes d'Apache à GitLab. 'ProxyPassReverse' demande à apache d'accepter (et de retourner) la réponse obtenue de GitLab. –