Encaminhe todo o tráfego HTTP Apache para HTTPS

Essa é uma boa maneira de forçar todo o tráfego do seu site a usar HTTPS, enquanto permite que as pessoas que se esquecem do ‘s’ no HTTPS ainda cheguem ao seu site. Finja que está /etc/apache2/sites-available/example.comem um sistema Debian.

<VirtualHost *:80>
ServerName example.com

<Location />
Redirect permanent / https://example.com/

</Location>
</VirtualHost>

<VirtualHost *:443>
ServerName example.com

DocumentRoot /home/example/example.com


SSLEngine On

SSLCertificateFile /etc/apache2/ssl/example.com.crt

SSLCertificateKeyFile /etc/apache2/ssl/example.com.key

SSLCertificateChainFile /etc/apache2/ssl/example.com.ca-bundle

</VirtualHost>

Como você pode ver, a primeira definição do VirtualHost captura todo o tráfego que chega na porta 80 para o domínio example.com e o encaminha para a porta 443. Fácil!