Невозможно перенаправить с http на https

Невозможно перенаправить с http на https

Я уверен, что на этот вопрос уже отвечали сотню раз (потому что я прочитал почти все), но я не могу заставить работать перенаправление Apache2.

Я полный новичок во всем, что касается Linux, и сейчас пытаюсь запустить веб-сайт. Сайт уже доступен по протоколу https и имеет сертификат.

неверный запрос на порт 80

/etc/apache2/ports.conf

Listen 80
<IfModule ssl_module>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

etc/apache2/sites-available/mydomainname.conf

NameVirtualHost *:80
NameVirtualHost <mydomainname>:443
<VirtualHost *:80>
        ServerName <mydomainname>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        RewriteEngine On
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTPS_HOST}%{REQUEST_URI} [R,L]

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost _default_:443>
        ServerName <mydomainname>
        DocumentRoot /var/www/html
        SSLEngine On
</VirtualHost>

Я тоже уже выполнил, sudo a2ensite <mydomainname>.confесли это важно.

решение1

Вы пропустили некоторые важные директивы в :443 VirtualHost. Файл сертификата SSL и закрытый ключ не указаны.

Директива VirtualHostдолжна выглядеть следующим образом:

Listen 443
<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLCertificateFile "/path/to/www.example.com.cert"
    SSLCertificateKeyFile "/path/to/www.example.com.key"
</VirtualHost>

Проверьте официальныйДокументация ApacheБольше подробностей:

Связанный контент