Não é possível redirecionar de http para https

Não é possível redirecionar de http para https

Tenho certeza de que esta pergunta foi respondida centenas de vezes (porque quase li todas), mas não consigo fazer meu redirecionamento Apache2 funcionar.

Sou um iniciante em tudo no Linux e atualmente estou tentando colocar um site em funcionamento. O site já está disponível em https e possui certificado.

solicitação incorreta na porta 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>

Eu também já executei sudo a2ensite <mydomainname>.confse isso for importante.

Responder1

Estão faltando algumas diretivas importantes no :443 VirtualHost. O arquivo do certificado SSL e a chave privada não foram especificados.

A VirtualHostdiretiva deverá ter a seguinte aparência:

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

Confira o oficialDocumentação do Apachepara mais detalhes:

informação relacionada