Como validar o certificado Let’s Encrypt em um site já ativo na Cloudflare
Como validar o certificado Let’s Encrypt em um site já ativo na Cloudflare
Saiba como validar um certificado SSL Let’s Encrypt para um site ativo na Cloudflare.
Visão geral
Este guia descreve detalhes adicionais sobre como usar o método Webroot para verificação no cliente oficial do Let’s Encrypt descrito na documentação desse link: https://letsencrypt.readthedocs.org/en/Latest/using.html#webroot
Observe que o método padrão utilizado para autenticação do ACME pelo cliente do Let’s Encrypt é o DVSNI. O método falhará para um domínio habilitado para a Cloudflare, já que concluímos o SSL (TLS) na nossa borda e o servidor ACME nunca verá o certificado que o cliente apresenta na origem. O uso de métodos alternativos de validação do ACME como DNS ou HTTP será concluído com sucesso quando a Cloudflare estiver habilitada.
Validação de HTTP
Se você estiver configurando o Let’s Encrypt pela primeira vez para um site já ativo na Cloudflare, tudo o que é preciso fazer para verificar e obter seu certificado e seu par de chaves privadas com sucesso é usar o método Webroot para a verificação.
-
Baixe o cliente do Let’s Encrypt e alterne para o diretório de download:
git clone https://github.com/letsencrypt/letsencryptcd letsencrypt/ -
Execute o script de instalação automática:
./letsencrypt-auto -
Usando o cliente
letsencrypt
com o comandocertonly
e o sinalizador--webroot
é possível verificar e obter o par cert/key usando a verificação de HTTP. Um exemplo de comando pode se parecer com o seguinte:/root/.local/share/letsencrypt/bin/letsencrypt certonly --webroot --webroot-path /usr/share/nginx/html/ --renew-by-default --email email@host.tld --text --agree-tos -d exemplo.tld -d www.exemplo.tldno qual
--webroot-path
é o diretório no qual o site está localizado no seu servidor (no exemplo, usando nginx);
--renew-by-default
seleciona a renovação por padrão quando os domínios são um superconjunto de um certificado obtido anteriormente;
--e-mail
é o e-mail de contato da recuperação e utilizado no cadastramento;
--text
exibe o texto do resultado
--agree-tos
dá o aceite ao Contrato de Assinatura do Let’s Encrypt
-d
especifica os hostnames a serem adicionados ao SAN.
-
A conclusão bem-sucedida desse método de verificação exibirá um texto parecido com o seguinte:
Parabéns! Seu certificado e sua cadeia foram salvos em /etc/letsencrypt/live/exemplo.tld/fullchain.pem. Seu certificado expirará em 2016-03-03. Para obter uma nova versão do certificado no futuro, basta executar o Let’s Encrypt novamente. -
Observe que tanto o certificado quanto a chave serão salvos
/etc/letsencrypt/live/exemplo.tld/
. Após ambos terem sido obtidos, você precisará atualizar seu host virtual manualmente para que passe a utilizar esse par chave/cert.
Certifique-se de verificar as Page Rules para o domínio no painel da Cloudflare e confirme que não existe nenhuma que possa resultar no redirecionamento de uma solicitação da URL de validação ou que a torne acessível somente em HTTPS.
Renovação
Quando chegar a hora da renovação, o
comando letsencrypt renew
deve permitir que o certificado seja renovado com sucesso sem qualquer alteração na configuração da Cloudflare, desde que:
- O arquivo .conf utilizado pelo cliente letsencrypt para a renovação tenha um
authenticator = webroot
especificado. - O URL de validação seja acessível em HTTP.
- Não existam redirecionamentos aplicados ao URL em questão.
Alternativamente, a repetição das etapas acima também emitirá um novo certificado.