Ir para o conteúdo

Como faço para renovar um certificado SSL da Let's Encrypt em uma pilha Bitnami hospedada em uma instância do Lightsail?

6 minuto de leitura
0

O certificado SSL da Let's Encrypt instalado em meu site em uma instância Bitnami do Amazon Lightsail está prestes a expirar.

Breve descrição

Os certificados SSL da Let's Encrypt expiram 90 dias após a criação. Os certificados padrão são renovados automaticamente quando você usa Como faço para instalar um certificado SSL Let's Encrypt em uma pilha Bitnami hospedada no Lightsail? No entanto, a renovação automática pode falhar se o certificado não estiver configurado corretamente.

Se você instalou um certificado curinga da Let's Encrypt pelo método 2 em Como faço para instalar um certificado SSL curinga da Let's Encrypt em uma pilha Bitnami hospedada no Amazon Lightsail?, então precisa renovar o certificado manualmente. O método 2 não oferece suporte à renovação automática.

A resolução a seguir aborda como renovar um certificado manualmente em instâncias do Lightsail hospedadas pela Bitnami, como WordPress, LAMP, Magento e MEAN.

Resolução

Identifique a ferramenta de instalação do certificado

Identifique a ferramenta que você usou para instalar o certificado. Para identificar a ferramenta que você usou para instalar o certificado SSL, faça o seguinte:

  1. Execute o comando a seguir para pesquisar o arquivo de certificado nos diretórios /etc/letsencrypt e /opt/bitnami/letsencrypt. Certifique-se de substituir DOMAIN pelo seu nome de domínio.

    sudo grep -irl "$(openssl s_client -verify_quiet -showcerts -connect DOMAIN:443 2>/dev/null | sed -n '/BEGIN/,/END/{p;/END/q}' | head -n 3 | tail -n 2)" /opt/bitnami/letsencrypt /etc/letsencrypt
  2. Se o arquivo do certificado estiver dentro dos subdiretórios de /opt/bitnami/letsencrypt, o certificado provavelmente foi instalado com bncert-tool ou o cliente Lego. Para fazer isso, execute o seguinte comando:

    sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list

Se a saída do comando na etapa 1 corresponder ao caminho do certificado fornecido pelo segundo comando, seu certificado foi instalado com bncert-tool ou Lego.

Se o arquivo do certificado estiver dentro dos subdiretórios de /etc/letsencrypt, então o certificado provavelmente foi instalado com o Certbot. Para fazer isso, execute o seguinte comando:

sudo certbot certificates

Se a saída do comando na etapa 1 corresponder ao caminho do certificado fornecido pelo comando certbot, seu certificado foi instalado com o Certbot.

Com base na ferramenta identificada, siga as etapas de resolução relacionadas.

Renove um certificado da Let's Encrypt instalado com bncert-tool ou a ferramenta Lego

Execute os seguintes comandos:

sudo /opt/bitnami/ctlscript.sh stop
sudo /opt/bitnami/letsencrypt/lego --tls --email="EMAIL-ADDRESS" --domains="DOMAIN" --path="/opt/bitnami/letsencrypt" renew --days 90

Observação: substitua EMAIL-ADDRESS, use qualquer um dos seus endereços de e-mail ativos. Ou use o mesmo endereço de e-mail usado ao instalar o certificado. Substitua DOMAIN pelo seu nome de domínio.

sudo /opt/bitnami/ctlscript.sh start

É possível recuperar o e-mail usado para instalar o certificado com o seguinte comando:

sudo ls /opt/bitnami/letsencrypt/accounts/acm*

Se necessário, confirme o nome do domínio com o seguinte comando:

sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt list

Renove um certificado da Let's Encrypt instalado com a ferramenta Certbot

Para determinar o método de autenticação usado para instalar o certificado, execute o comando a seguir:

sudo cat /etc/letsencrypt/renewal/DOMAIN.conf

Observação: substitua DOMAIN pelo nome de domínio principal do seu certificado.

Na saída do comando, veja o valor do parâmetro authenticator. Com base no valor, siga um dos seguintes métodos de renovação:

Se o valor do parâmetro authenticator for standalone, webroot, apache, nginx, dns-route53 ou outro valor que não seja manual, conclua a renovação com os seguintes comandos:

sudo /opt/bitnami/ctlscript.sh stop
sudo certbot renew
sudo /opt/bitnami/ctlscript.sh start

Esses comandos renovam todos os certificados instalados que devem ser renovados.

- ou -

Se o valor do parâmetro authenticator for manual e o valor do parâmetro pref_challs for dns, não será possível configurar a renovação automática. Você deve renová-lo manualmente seguindo as etapas a seguir. Observação: você deve repetir essa etapa sempre que renovar o certificado.

  1. Esse método exige que você adicione registros TXT no provedor DNS do domínio. É uma prática recomendada executar os comandos no Linux GNU Screen para evitar que a sessão atinja o tempo limite. Para mais informações, consulte How to use Linux Screen (Como usar o Linux Screen) no site da Linuxize.
    Para iniciar uma sessão de tela, digite o seguinte comando:

    screen -S letsencrypt
  2. Execute o comando a seguir e procure o valor do parâmetro Domains. Substitua DOMAIN pelo nome de domínio principal do seu certificado:

    sudo certbot certificates -d DOMAIN
  3. Execute o comando a seguir para renovar o certificado. Certifique-se de incluir cada domínio que você encontrou no comando anterior com a opção**-d** na mesma ordem. Se você adicionar, remover ou alterar a ordem dos domínios, um novo certificado poderá ser criado em vez de renovar o certificado original.

    sudo certbot certonly --manual --preferred-challenge dns -d DOMAIN-1 -d DOMAIN-2 --force-renewal
  4. Você recebe uma solicitação para verificar se você é o proprietário do domínio especificado. Essa verificação serve para adicionar registros TXT aos registros DNS do seu domínio. A Let's Encrypt fornece um único ou vários registros TXT que você deve usar para verificação.

  5. Ao ver um registro TXT na tela, adicione o registro fornecido no DNS do seu domínio.
    Importante: não pressione Enter até confirmar que o registro TXT foi propagado para o DNS da Internet. Não pressione CTRL+D porque isso encerra a sessão de tela atual.

  6. Para confirmar se o registro TXT foi propagado para o DNS da Internet, consulte-o em DNS Text Lookup no site da MX Toolbox. Digite o seguinte texto na caixa de texto:

    _acme-challenge.example.com

    Observação: substitua exemplo.com pelo seu domínio.

  7. Escolha TXT Lookup para executar a verificação.

  8. Se seus registros TXT foram propagados para o DNS da Internet, você verá o valor do registro TXT na página. Volte para a tela e pressione ENTER.

  9. Se você for removido do shell, retorne por meio do comando: screen -r SESSIONID.

  10. Obtenha o ID da sessão: Execute o comando screen -ls.

  11. Se o prompt do Certbot solicitar que você adicione outro registro TXT, conclua as etapas 5 a 8 novamente.

Depois que o certificado SSL for gerado, você receberá a seguinte mensagem: "Successfully received certificate".

AWS OFICIALAtualizada há 4 meses