Погрузился в радость использования apache в качестве прокси. Потрясающие. Придется учиться, но результат того стоит!
Я использовал подход виртуального хоста, чтобы иметь одинаковые URL-адреса, независимо от того, обращаюсь ли я локально или извне. Все настроено, apache mod_proxy прослушивает порт 443, перенаправляя весь трафик gitlab.mydomain в стек ламп на основе локальной сети, и все отлично Кроме когда я попал на первую страницу после перенаправления http: //gitlab.mydomain/users/sign_in. Мне нужно повторно ввести https в URL-адресе вручную, и тогда все будет хорошо. То же самое, когда я публикую комментарий на странице проектов. Для проблемы входа в систему приложение (gitlab) перенаправляет анонимных незарегистрированных пользователей на http://gitlab.mydomain.com вместо ожидаемого https://gitlab.mydomain.com.
Возможно, завтра мне придется погрузиться в код и посмотреть, находится ли он на уровне приложения, т.е. $ base_url какая-то переменная, как в Drupal. Вот файл vhost, может я что-то пропустил или сломал, любые подсказки приветствуются.
############################################################
#
# proxy related directives
#
###########################################################
#NameVirtualHost gitlab.mydomain.com:443
<VirtualHost *:443>
ServerName gitlab.mydomain.com
ProxyRequests off
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog logs/gitlab_log combined
LogLevel info
SSLProxyEngine On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
SSLEngine on
SSLProtocol all
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
# SSLProtocol all -SSLv2
# SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
ProxyPass / https://gitlab.mydomain.com/
ProxyPassReverse / https://gitlab.mydomain.com/
</VirtualHost>
Только что видел, что NameVirtualHost прокомментирован?!? это не нужно? Как бы то ни было, на 95% все работает, но страница регистрации немного раздражает.
Может ли кто-нибудь с достаточным количеством репутации для редактирования тегов добавить тег gitlab для публикации?
Проблема оказалась решенной на стороне приложения. В файлах конфигурации gitlab нужно указать протокол https.