Como eu redireciono todo o tráfego do site para HTTPS no Ubuntu executando o Apache2

1

Portanto, eu tenho um servidor Ubuntu executando o Apache 2 e gostaria de redirecionar todo o tráfego para https. Abaixo está o arquivo de configuração disponível no site (com o nome do domínio substituído.

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    Redirect permanent "/" "https://example.com/"
</VirtualHost>

<VirtualHost *:443>
 ServerAdmin [email protected]
 DocumentRoot /var/www/personal/html/
 ServerName https://example.com
 ServerAlias https://www.example.com

    <IfModule mod_headers.c>
            Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
    </IfModule>

 <Directory /var/www/personal/html/>
    Options +FollowSymlinks
    AllowOverride All
    Require all granted
      <IfModule mod_dav.c>
        Dav off
      </IfModule>
    SetEnv HOME /var/www/personal/html
    SetEnv HTTP_HOME /var/www/personal/html
 </Directory>

 ErrorLog ${APACHE_LOG_DIR}/personal-error.log
 CustomLog ${APACHE_LOG_DIR}/personal-access.log combined

 ServerAlias example.com
 SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
 SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
 Include /etc/letsencrypt/options-ssl-apache.conf
 </VirtualHost>
O

link definitivamente funciona e é criptografado. Como pode reescrever a configuração para redirecionar todo o tráfego para https?

    
por Tasty213 02.07.2018 / 10:50

1 resposta

0

Sua pergunta já tem a resposta: ISTO faz o que você está tentando alcançar:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    Redirect permanent "/" "https://example.com/"
</VirtualHost>

No entanto, ServerName https://example.com está errado: você não deve incluir o protocolo aqui, nem no seu ServerAlias . É <VirtualHost *:443> an que torna isso um host virtual HTTPS. Se você já teve https://example.com para trabalhar com essa configuração, provavelmente é porque você também tem ServerAlias example.com mais tarde na configuração, mas você não deve especificar essas diretivas duas vezes no mesmo bloco <VirtualHost> .

Isso me faz pensar se esse arquivo sites-available config é sempre usuário, por exemplo

  • Você o habilitou (usando a2ensite ou manualmente criando um link simbólico em sites-enabled )?
  • Você reiniciou seu Apache depois dessa modificação?

(BTW. Como http://www.example.com redireciona para canonical https://example.com/ , pode ser uma boa idéia redirecionar https://www.example.com/ para o mesmo local também.)

    
por 02.07.2018 / 12:04