サーバー上でApacheフロントエンドを使用してGitlabをセットアップすることができました。デフォルトのSSLポートはすでに使用されているため、追加しました
Listen 444
ApacheポートとVirtualHostのような
<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>
目標は、ローカルのユニコーンに転送することです (これは、Gitlab を使用した標準的なシナリオです)。
通話時
https:/my.server.de:444
/users/sign_in にリダイレクトされますが (予想どおり)、HTTP ヘッダーの場所に "http" スキームが設定されています。無事ゲットできます
https:/my.server.de:444/users/sign_in
手動で、しかしすべての投稿でリダイレクトの場所が再び正しいスキームを逃します。何が起こっているのですか?ProxyPassReverse がこれを処理するべきではありませんか?