Se você está desenvolvendo localmente e precisa testar aplicações em um ambiente com HTTPS, o Apache oferece uma solução rápida utilizando um certificado autoassinado padrão (conhecido como snakeoil). Embora esse certificado não seja confiável por navegadores, ele é suficiente para testes locais.
Neste post, vou mostrar como habilitar o HTTPS local no Apache em um servidor Debian de maneira simples e prática, sem criar um novo certificado.
Passo 1: Ativando o módulo SSL
O Apache precisa do módulo ssl
para habilitar conexões HTTPS. Para ativá-lo, use o seguinte comando:
sudo a2enmod ssl
Passo 2: Habilitando o site padrão para HTTPS
O Debian já vem com um arquivo de configuração pronto para HTTPS chamado default-ssl.conf
. Basta habilitá-lo com o comando:
sudo a2ensite default-ssl
Isso ativa o VirtualHost padrão que já está configurado para usar o certificado gerado automaticamente pelo Apache.
Passo 3: Reiniciando o Apache
Depois de habilitar o módulo e o site padrão, reinicie o Apache para aplicar as mudanças:
sudo systemctl restart apache2
Acessando o HTTPS Local
Agora, abra o navegador e acesse o endereço:
https://localhost
Você verá uma mensagem de segurança no navegador informando que o certificado não é confiável. Isso acontece porque o certificado usado é autoassinado e não foi emitido por uma autoridade certificadora (CA). Para fins de desenvolvimento local, isso não é um problema.
Sobre o Certificado Snakeoil
O certificado padrão usado pelo Apache está localizado nos seguintes caminhos:
- Certificado:
/etc/ssl/certs/ssl-cert-snakeoil.pem
- Chave privada:
/etc/ssl/private/ssl-cert-snakeoil.key
Se precisar configurar um VirtualHost personalizado, basta referenciar esses arquivos.
Conclusão
Habilitar HTTPS local no Apache com o certificado padrão é rápido e simples. Embora o navegador exiba um aviso, esse método é ideal para testes e desenvolvimento local. Em ambientes de produção, é fundamental usar um certificado emitido por uma CA confiável.