Para o HTTP redirecionar para HTTPS você precisa (os 3 primeiros passos que você provavelmente já fez):
-
Permite a porta 80 no seu roteador.
-
Encaminhe a porta 80 para o seu servidor.
-
Perfure seu firewall:
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-
Defina VirtualHost para a porta 80 (assim como para 443):
<VirtualHost *:80> ServerName erichermansson.com ServerAlias www.erichermansson.com RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R] RewriteCond %{HTTPS} !on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301] </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> ... your code here ... </VirtualHost> </IfModule>
-
Ativar
mod_rewrite
:sudo a2enmod rewrite
-
Defina um redirecionamento de HTTP para HTTPS, algo como:
RewriteCond %{HTTPS} !on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301]
que já fizemos no passo 4.
-
E, finalmente, reinicie o Apache:
sudo service apache2 restart