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

Перенаправление Apache с http на https - ошибка установления связи SSL: HTTP разговаривает через порт HTTPS

У меня есть веб-приложение Moodle (система электронного обучения), установленное на Debian 9 с веб-сервером Apache. Это устройство с битнами, но единственное отличие - это структура папок. Несколько месяцев назад я настроил перенаправление с http на https. Недавно я обновил Moodle до последней версии, и перенаправление перестало работать. Я пытаюсь заставить его работать несколько дней, но безуспешно.

Я включил режим отладки в логах apache. Когда я вхожу http://elearning.mymoodlesite.com в веб-браузере я получаю ошибку неверного запроса.

Неверный запрос Ваш браузер отправил запрос, который этот сервер не может понять. Причина: вы говорите по обычному протоколу HTTP с портом сервера с поддержкой SSL. Вместо этого используйте схему HTTPS для доступа к этому URL, пожалуйста.

В файле access_log Apache есть «Get / HTTP / 1.0» 400 362 ошибка

Это bitnami.conf, где я изменил конфигурацию в соответствии с этим https://docs.bitnami.com/aws/components/apache/#how-to-force-https-redirection-for-an-application :

# Default Virtual Host configuration.

<IfVersion < 2.3 >
  NameVirtualHost *:80
  NameVirtualHost *:443
</IfVersion>

<VirtualHost _default_:80>
  DocumentRoot "/opt/bitnami/apache2/htdocs"
  **RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteRule / https://elearning.mymoodlesite.com/$1 [R,L]**
  <Directory "/opt/bitnami/apache2/htdocs">
    Options -Indexes
    AllowOverride All
    <IfVersion < 2.3 >
      Order allow,deny
      Allow from all
    </IfVersion>
    <IfVersion >= 2.3 >
      Require all granted
    </IfVersion>
  </Directory>

  # Error Documents
  ErrorDocument 503 /503.html

  # Bitnami applications installed with a prefix URL (default)
  Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
</VirtualHost>

# Default SSL Virtual Host configuration.

<IfModule !ssl_module>
  LoadModule ssl_module modules/mod_ssl.so
</IfModule>

Listen 443
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH !aNULL !eNULL !LOW !3DE$
SSLPassPhraseDialog  builtin
SSLSessionCache "shmcb:/opt/bitnami/apache2/logs/ssl_scache(512000)"
SSLSessionCacheTimeout  300

<VirtualHost _default_:443>
  DocumentRoot "/opt/bitnami/apache2/htdocs"
  SSLEngine on
SSLCertificateFile "/opt/bitnami/apache2/conf/mymoodlesite.pem"
SSLCertificateKeyFile "/opt/bitnami/apache2/conf/mymoodlesite.key"

  <Directory "/opt/bitnami/apache2/htdocs">
    Options -Indexes
    AllowOverride All
<IfVersion < 2.3 >
      Order allow,deny
      Allow from all
    </IfVersion>
    <IfVersion >= 2.3 >
      Require all granted
    </IfVersion>
  </Directory>

  # Error Documents
  ErrorDocument 503 /503.html

  # Bitnami applications installed with a prefix URL (default)
  Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-prefix.conf"
</VirtualHost>

# Bitnami applications that uses virtual host configuration
Include "/opt/bitnami/apache2/conf/bitnami/bitnami-apps-vhosts.conf"

Поэкспериментировал с RewriteRule, поменял

RewriteRule / https://elearning.mymoodlesite.com/$ 1 [R, L]

к

RewriteRule ^ / (. *) https://elearning.mymoodlesite.com/$ 1 [R, L]

и некоторые другие комбинации, но это не помогло.

Полная запись из apache error_log, когда я вхожу http://elearning.mymoodlesite.com:

[Mon Aug 13 10: 51: 30.664911 2018] [ssl: info] [pid 13931: tid 140708832802560] [client 195.168.40.226:44320] AH01964: Установлено соединение с дочерним элементом 149 (сервер elearning.mymoodlesite.com:443)

[13 августа, пн, 10:51: 30.665158 2018] [ssl: info] [pid 13931: tid 140708832802560] [клиент 195.168.40.226:44320] AH01996: Ошибка установления связи SSL: HTTP-соединение через HTTPS-порт; пытается отправить страницу ошибки HTML

[Mon Aug 13 10: 51: 30.665210 2018] [ssl: info] [pid 13931: tid 140708832802560] Ошибка библиотеки SSL: ошибка: 1407609C: подпрограммы SSL: SSL23_GET_CLIENT_HELLO:HTTP-запрос - разговор HTTP с портом HTTPS !?

[Пн, 13 августа, 10:51: 30.665329 2018] [заголовки: отладка] [pid 13931: tid 140708832802560] mod_headers.c (900): AH01503: заголовки: ap_headers_error_filter ()

[Пн, 13 августа, 10: 51: 30.852250 2018] [ssl: info] [pid 13931: tid 140708824409856] [клиент 195.168.40.226:44326] AH01964: Установлено соединение с ребенком 150 (сервер elearning.mymoodlesite.com:443)

[Пн, 13 августа, 10:51: 30.852356 2018] [ssl: info] [pid 13931: tid 140708824409856] [клиент 195.168.40.226:44326] AH01996: Ошибка установления связи SSL: HTTP-соединение через HTTPS-порт; пытается отправить страницу ошибки HTML

[Mon Aug 13 10: 51: 30.852377 2018] [ssl: info] [pid 13931: tid 140708824409856] Ошибка библиотеки SSL: ошибка: 1407609C: Процедуры SSL: SSL23_GET_CLIENT_HELLO:HTTP-запрос - разговор HTTP с портом HTTPS !?

[Пн, 13 августа, 10:51: 30.852426 2018] [заголовки: отладка] [pid 13931: tid 140708824409856] mod_headers.c (900): AH01503: заголовки: ap_headers_error_filter ()