Apache: Redirecionando as conexões HTTP para o HTTPS

O Apache, um dos servidores WEB, de código aberto, mais utilizado e pode ser configurado para faz com que as conexões direcionadas à porta 80/tcp, ou seja ao HTTP, sejam automaticamente redirecionadas para a porta 443/tcp (HTTPS).

Uma das  vantagens  deste  tipo de configuração é evitar que uma determinada aplicação, que contem dados sensíveis, importantes, seja acessada através de uma conexão HTTP, que pode ser “snifada” e os dados facilmente capturados.

Este artigo mostra como configurar o apache para redirecionar, automaticamente, as conexões http://…. para https://…

Nosso primeiro passo será editar o arquivo de configuração  /etc/apache2/sites-enabled/000-default.conf, para isto podemos utilizar o comando abaixo:

sudo nano  /etc/apache2/sites-enabled/000-default.conf

Em seguida, devemos adicionar no final deste arquivo as  linha abaixo :

##
# Redireciona para https
##
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Pronto, já podemos salvar as configurações e ativar o módulo rewrite do apache

sudo a2enmod rewrite

Para finalizar, temos que reiniciar o daemon do apache

sudo service apache2 restart

A partir de agora, toda vez que uma conexão for estabelecida com a porta 80/tcp, deste servidor, a mesma será redirecionada para a porta 443/tcp; ou seja, as conexões HTTP, redirecionam para conexões HTTPS, que, geralmente, são mais seguras.

Com isto finalizamos o processo de configuração.