Neste guia, você aprenderá como instalar um certificado SSL no Apache, passo a passo. As instruções se aplicam ao Apache 2.4, a linha de versão estável atual.
Índice
- Como gerar um código CSR no Apache?
- Instalar um certificado SSL no Apache
- Testar a instalação do SSL
- Onde comprar um certificado SSL para Apache?
Como gerar um código CSR no Apache?
O Certificate Signing Request, ou simplesmente CSR, é um pequeno arquivo de texto contendo informações sobre a propriedade do seu domínio e/ou empresa. Gerar um CSR é parte integrante do processo de compra de SSL, e todas as Autoridades Certificadoras comerciais exigem que os solicitantes de SSL concluam esta etapa.
Você tem duas opções:
- Gerar o CSR automaticamente usando nosso Gerador de CSR.
- Seguir nosso tutorial passo a passo sobre como criar o CSR no Apache.
Instalar um certificado SSL no Apache
Após a Autoridade Certificadora assinar e enviar o certificado SSL, você pode instalá-lo com segurança no seu servidor Apache. Siga os passos abaixo.
Passo 1: Prepare os arquivos do certificado
Baixe e extraia os arquivos da pasta ZIP recebida da sua Autoridade Certificadora. Normalmente você encontrará:
- O arquivo .crt – seu certificado SSL principal.
- O arquivo .ca-bundle – os certificados intermediários (e raiz) que formam a cadeia de confiança. Essa cadeia é necessária para que navegadores e aplicações possam verificar seu certificado. Sem ela, alguns clientes podem sinalizar seu site como não seguro.
Faça o upload desses arquivos, juntamente com a chave privada (.key) gerada junto com o seu CSR, para um diretório seguro no seu servidor, por exemplo /etc/ssl/. Mantenha a chave privada legível apenas pelo root (chmod 600).
Recomendado (Apache 2.4.8 e versões mais recentes): combine seu certificado e o CA bundle em um único arquivo de “cadeia completa”. Desde o Apache 2.4.8, a diretiva SSLCertificateFile carrega os certificados intermediários diretamente deste arquivo, razão pela qual a antiga diretiva SSLCertificateChainFile não é mais necessária:
cat your_domain.crt your_domain.ca-bundle > your_domain_fullchain.crt
Se a sua CA entregou os certificados intermediários como arquivos separados, concatene-os com seu certificado primeiro, seguidos pelos intermediários ordenados do que assinou seu certificado até o raiz (o certificado raiz em si é opcional):
cat your_domain.crt intermediate.crt root.crt > your_domain_fullchain.crt
Por exemplo, ao instalar um certificado Sectigo PositiveSSL, você concatenaria seu certificado de domínio com o bundle intermediário da Sectigo. Sempre use os nomes de arquivo exatos fornecidos pela sua CA.
Passo 2: Ative o módulo SSL (mod_ssl)
Antes de configurar o HTTPS, certifique-se de que o módulo SSL do Apache está ativado.
No Debian/Ubuntu, ative o mod_ssl (e o mod_headers, que você precisará para o cabeçalho HSTS no Passo 4):
sudo a2enmod ssl
sudo a2enmod headers
No RHEL/CentOS/AlmaLinux/Rocky Linux, instale o pacote do módulo SSL (o módulo é carregado automaticamente após a instalação):
sudo dnf install mod_ssl
Passo 3: Localize o arquivo de configuração do Apache
Dependendo do seu sistema operacional e da versão do Apache, a configuração pode estar em arquivos diferentes. Procure por httpd.conf, apache2.conf, ou um arquivo de configuração SSL/site dedicado, em um dos seguintes locais:
- Debian/Ubuntu: configuração principal em /etc/apache2/apache2.conf; configurações por site em /etc/apache2/sites-available/.
- RHEL/CentOS/AlmaLinux/Rocky: configuração principal em /etc/httpd/conf/httpd.conf; configuração SSL em /etc/httpd/conf.d/ssl.conf.
Nota: Se o seu servidor Apache estiver rodando no Ubuntu, você também pode seguir nossas instruções dedicadas de instalação de SSL para Ubuntu.
Passo 4: Configure o virtual host
Primeiro, faça um backup do seu arquivo de configuração atual. Assim, se algo der errado, você poderá reverter rapidamente as alterações:
sudo cp /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.backup
Agora abra o arquivo de configuração e configure o virtual host HTTPS (porta 443). Um virtual host completo e moderno tem a seguinte aparência:
<VirtualHost *:443>
ServerName www.example.com
ServerAdmin [email protected]
DocumentRoot /var/www/example
SSLEngine on
# Apache 2.4.8+ : server certificate + intermediate chain in ONE file
SSLCertificateFile /etc/ssl/example_com_fullchain.crt
SSLCertificateKeyFile /etc/ssl/example_com.key
# Recommended TLS hardening (2026)
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
# Tell browsers to always use HTTPS (enable only after HTTPS works)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
ErrorLog ${APACHE_LOG_DIR}/example_error.log
CustomLog ${APACHE_LOG_DIR}/example_access.log combined
</VirtualHost>
Substitua example.com, o document root e os caminhos dos arquivos pelos seus próprios valores. Veja o que as principais diretivas fazem:
- SSLEngine on – ativa SSL/TLS para este virtual host.
- SSLCertificateFile – caminho para o arquivo de cadeia completa (certificado + intermediários) criado no Passo 1. No Apache 2.4.8+, esta única diretiva substitui a SSLCertificateChainFile obsoleta.
- SSLCertificateKeyFile – caminho para a sua chave privada, gerada junto com o CSR.
- SSLProtocol -all +TLSv1.2 +TLSv1.3 – desativa os protocolos SSL/TLS antigos e inseguros e permite apenas TLS 1.2 e TLS 1.3.
- Strict-Transport-Security (HSTS) – instrui os navegadores a se conectarem apenas via HTTPS. Requer o mod_headers (ativado no Passo 2). Ative somente após confirmar que o HTTPS está funcionando corretamente.
Certifique-se de que nenhuma dessas linhas começa com # (o que as comentaria). No Debian/Ubuntu, ${APACHE_LOG_DIR} resolve para /var/log/apache2; em sistemas baseados em RHEL, use /var/log/httpd/ em vez disso.
Servidores legados: Se você estiver usando uma versão do Apache anterior à 2.4.8, mantenha o certificado e a cadeia em arquivos separados e adicione a diretiva obsoleta SSLCertificateChainFile /etc/ssl/example_com.ca-bundle abaixo de SSLCertificateFile. Em qualquer servidor moderno, a abordagem de cadeia completa acima é preferida.
Proteção avançada (opcional): para um conjunto de cifras mais robusto e OCSP stapling, gere uma configuração personalizada com o Mozilla SSL Configuration Generator. O OCSP stapling também requer uma diretiva SSLStaplingCache na sua configuração global do Apache.
Passo 5: Redirecionar HTTP para HTTPS
Para garantir que os visitantes sempre acessem a versão segura do seu site, adicione um segundo virtual host na porta 80 que redirecione permanentemente todo o tráfego HTTP para HTTPS:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
Passo 6: Teste sua configuração e reinicie o Apache
Sempre teste sua configuração antes de reiniciar. Um erro de sintaxe pode deixar seu site offline, portanto execute:
sudo apachectl configtest
Se tudo estiver correto, você verá:
Syntax OK
Agora aplique as alterações recarregando o Apache (um reload ativa a nova configuração sem interromper as conexões existentes):
sudo systemctl reload apache2 # Debian/Ubuntu
sudo systemctl reload httpd # RHEL/CentOS/AlmaLinux/Rocky
Se um reload não for suficiente, reinicie o serviço (sudo systemctl restart apache2 ou httpd). Em sistemas mais antigos sem systemd, use sudo apachectl graceful.
Se a instalação foi bem-sucedida, parabéns! Seu site agora está protegido com SSL/TLS.
Testar a instalação do SSL
Após instalar o certificado SSL no Apache, verifique se tudo está funcionando conforme o esperado. Uma verificação instantânea revelará quaisquer erros ou vulnerabilidades que possam afetar o desempenho do seu certificado. Use nossa ferramenta SSL Checker para verificar o status da sua instalação.
Você também pode confirmar o certificado e sua cadeia diretamente pela linha de comando:
openssl s_client -connect www.example.com:443 -servername www.example.com
Onde comprar um certificado SSL para Apache?
O melhor lugar para obter um certificado SSL para Apache é na SSL Dragon. Oferecemos preços e descontos imbatíveis em toda a nossa linha de produtos SSL, e selecionamos cuidadosamente as melhores marcas de SSL do mercado para equipar seu site com proteção à prova de falhas. Todos os nossos certificados SSL são compatíveis com Apache. Obtenha um certificado SSL agora!
Tenha em mente que os prazos de validade dos certificados SSL/TLS estão diminuindo: a validade máxima cai para 200 dias em março de 2026, 100 dias em 2027 e apenas 47 dias em 2029. Ciclos de vida mais curtos significam renovações mais frequentes, por isso vale a pena planejar seu processo de renovação (e automação) com antecedência.
Perguntas Frequentes
SSL (Secure Sockets Layer), atualmente sucedido pelo TLS (Transport Layer Security), é um protocolo criptográfico que cifra a comunicação entre dois endpoints de rede, por exemplo um servidor web como o Apache e o navegador de um utilizador.
Nas distribuições Debian e Ubuntu, pesquise na configuração pela diretiva do protocolo SSL:grep -ir SSLProtocol /etc/apache2/
Se o SSL estiver configurado, você verá uma saída semelhante a:/etc/apache2/mods-available/ssl.conf:SSLProtocol +TLSv1.2 +TLSv1.3
Você também pode confirmar que o módulo SSL está carregado no servidor em execução:apachectl -M | grep ssl
O arquivo de configuração pode estar em locais diferentes dependendo do seu sistema operacional e configuração. No Debian/Ubuntu, verifique /etc/apache2/apache2.conf e os arquivos por site em /etc/apache2/sites-available/. No RHEL/CentOS/AlmaLinux/Rocky, verifique /etc/httpd/conf/httpd.conf e /etc/httpd/conf.d/ssl.conf.
SSLCertificateFile aponta para o certificado do seu servidor. Desde o Apache 2.4.8, o mesmo arquivo também pode conter os certificados intermediários, servindo assim a cadeia completa. SSLCertificateChainFile era a forma antiga de fornecer esses intermediários separadamente, mas foi descontinuada desde o Apache 2.4.8. Em qualquer servidor moderno, coloque o certificado e os intermediários em um único arquivo e referencie-o apenas com SSLCertificateFile.
Economize 10% em certificados SSL ao fazer seu pedido hoje!
Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10


