Назад | Перейти на главную страницу

Обратный прокси-сервер Apache 2 для локального сетевого сервера приложений лампы ssl - работает 95%, за исключением перенаправления входа на первую страницу

Погрузился в радость использования 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>

Проблема оказалась решенной на стороне приложения. В файлах конфигурации gitlab нужно указать протокол https.