View a markdown version of this page

Habilite HTTPS em sua WordPress instância com Let's Encrypt e Certbot - Amazon Lightsail

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Habilite HTTPS em sua WordPress instância com Let's Encrypt e Certbot

dica

O Amazon Lightsail oferece um fluxo de trabalho guiado que automatiza a instalação, configuração e renovação de um certificado Let's Encrypt em sua instância. WordPress Recomendamos enfaticamente que você use o fluxo de trabalho em vez de seguir as etapas manuais deste tutorial. Para obter mais informações, consulte Iniciar e configurar uma WordPress instância.

Com os balanceadores de carga Amazon Lightsail, você pode proteger seus sites e aplicativos com o. SSL/TLS No entanto, usar um balanceador de carga do Lightsail geralmente não é a escolha certa. Talvez seu site não precise da escalabilidade ou da tolerância a falhas que os balanceadores de carga fornecem, ou talvez você esteja otimizando para custo.

No último caso, você pode considerar o uso do Let's Encrypt para obter um certificado SSL gratuito. Este tutorial mostra como solicitar um certificado curinga Let's Encrypt usando o Certbot e integrá-lo à sua WordPress instância usando o plug-in SSL Really Simple.

Índice

Etapa 1: Concluir os pré-requisitos

Preencha os seguintes pré-requisitos, caso ainda não tenha feito isso:

Depois de ter concluído os pré-requisitos, prossiga para a próxima seção deste tutorial.

Etapa 2: instalar o Certbot em sua instância do Lightsail

O Certbot é um cliente usado para solicitar um certificado do Let's Encrypt e implantá-lo em um servidor web. O Let's Encrypt usa o protocolo ACME para emitir certificados, e o Certbot é um ACME-enabled cliente que interage com o Let's Encrypt.

Para instalar o Certbot em sua instância do Lightsail
  1. Faça login no console do Lightsail.

  2. Na guia Instâncias da página inicial do Lightsail, escolha o ícone de conexão rápida SSH para a instância à qual você deseja se conectar.

    Conexão rápida SSH na página inicial do Lightsail.
  3. Depois que sua sessão SSH baseada no navegador Lightsail estiver conectada, digite o seguinte comando para atualizar os pacotes na sua instância:

    sudo apt-get update
  4. Insira o comando a seguir para instalar o pacote de propriedades de software. Os desenvolvedores do Certbot usam um Arquivo Pessoal de Pacotes (PPA) para distribuir o Certbot. O pacote de propriedades de software torna o trabalho com PPAs mais eficiente.

    sudo apt-get install software-properties-common -y
    nota

    Se você encontrar um Could not get lock erro ao executar o sudo apt-get install comando, aguarde aproximadamente 15 minutos e tente novamente. Esse erro pode ser causado por um cron job que está usando a ferramenta de gerenciamento de pacotes Apt para instalar atualizações autônomas.

  5. Digite o seguinte comando a seguir para atualizar apt para incluir o novo repositório:

    sudo apt-get update -y
  6. Insira o comando a seguir para instalar o Certbot:

    sudo apt-get install certbot -y

    O Certbot agora está instalado na sua instância do Lightsail.

Mantenha aberta a janela do terminal SSH com base em navegador — você retornará a ela mais tarde neste tutorial. Prossiga para a próxima seção deste tutorial.

Etapa 3: solicitar um certificado curinga SSL da Let’s Encrypt

Comece o processo de solicitação de um certificado do Let's Encrypt. Usando o Certbot, solicite um certificado curinga, que permite que você use um único certificado para um domínio e seus subdomínios. Por exemplo, um único certificado curinga funciona para o domínio de nível superior example.com e os subdomínios blog.example.com e stuff.example.com.

Para solicitar um certificado curinga SSL Let's Encrypt
  1. Na mesma janela de terminal SSH baseada em navegador usada na etapa anterior deste tutorial, insira os comandos a seguir para definir uma variável de ambiente para seu domínio. Lembre-se de substituir domain pelo nome do seu nome de registro registrado.

    DOMAIN=domain WILDCARD=*.$DOMAIN

    Exemplo:

    DOMAIN=example.com WILDCARD=*.$DOMAIN
  2. Digite o seguinte comando para confirmar que as variáveis retornarão os valores corretos:

    echo $DOMAIN && echo $WILDCARD

    Será exibido um resultado semelhante ao seguinte:

    Confirme as variáveis de ambiente do domínio.
  3. Digite o seguinte comando para iniciar o Certbot no modo interativo. Esse comando informa ao Certbot para usar um método de autorização manual com desafios de DNS para verificar a propriedade do domínio. Ele solicita um certificado curinga para seu domínio de nível superior, bem como seus subdomínios.

    sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly
  4. Insira seu endereço de e-mail quando solicitado, pois ele é usado para avisos de renovação e segurança.

  5. Leia os termos de serviço do Let's Encrypt. Quando terminar, pressione Y se você concordar. Se você discordar, não poderá obter um certificado Let's Encrypt.

  6. Responda adequadamente ao prompt para compartilhar seu endereço de e-mail e o aviso sobre o registro do seu endereço IP.

  7. O Let's Encrypt agora solicita que você verifique se você possui o domínio especificado. Você pode fazer isso adicionando registros TXT para os registros DNS para seu domínio. Um conjunto de valores de registro TXT é fornecido conforme mostrado no seguinte exemplo:

    nota

    A Let's Encrypt pode fornecer um ou vários registros TXT que devem ser usados para verificação. Neste exemplo, recebemos dois registros TXT para usar na verificação.

    Registros TXT para certificados da Let's Encrypt.

Mantenha aberta a sessão SSH baseada no navegador Lightsail — você retornará a ela posteriormente neste tutorial. Prossiga para a próxima seção deste tutorial.

Etapa 4: adicionar registros TXT à zona DNS do domínio

Adicionar um registro TXT à zona DNS do seu domínio confirma que você é o proprietário do domínio. Para fins de demonstração, usamos a zona DNS do Lightsail. No entanto, as etapas podem ser semelhantes para outras zonas de DNS normalmente hospedadas por registradores de domínios.

nota

Para saber mais sobre como criar uma zona DNS do Lightsail para seu domínio, consulte Criação de uma zona DNS para gerenciar os registros DNS do seu domínio no Lightsail.

Para adicionar registros TXT à zona DNS do seu domínio no Lightsail
  1. No painel de navegação esquerdo, escolha Domínios e DNS.

  2. Na seção Zonas DNS da página, escolha a zona DNS para o domínio especificado na solicitação de certificado Certbot.

  3. No editor de zonas DNS, escolha a guia DNS records (Registros DNS).

  4. Escolha Adicionar registro.

  5. No menu suspenso Record type (Tipo de registro), escolha TXT record (Registro TXT).

  6. Insira os valores especificados pela solicitação de certificado Let's Encrypt nos campos Nome do registro e Responde com.

    nota

    O console Lightsail preenche previamente a parte do ápice do seu domínio. Por exemplo, se você deseja adicionar o _acme-challenge.example.com subdomínio, então você só precisa entrar _acme-challenge na caixa de texto e o Lightsail adiciona a .example.com porção para você quando você salvar o registro.

  7. Escolha Salvar.

  8. Repita as etapas 4 a 7 para adicionar o segundo conjunto de registros TXT especificado pela solicitação de certificado Let's Encrypt.

Mantenha a janela do navegador do console Lightsail aberta — você retornará a ela posteriormente neste tutorial. Prossiga para a próxima seção deste tutorial.

Etapa 5: confirme se os registros TXT foram propagadas

Use o MxToolbox utilitário para confirmar se os registros TXT se propagaram para o DNS da Internet. A propagação de registro DNS pode demorar um pouco, dependendo do provedor de hospedagem de DNS configurado e a vida útil (TTL) para seus registros DNS. É importante que você conclua esta etapa e confirme se os registros TXT foram propagados antes de continuar sua solicitação de certificado Certbot. Caso contrário, a solicitação de certificado falhará.

Para confirmar se os registros TXT se propagaram para o DNS da Internet
  1. Abra uma nova janela do navegador e acesse https://mxtoolbox.com/TXTLookup.aspx.

  2. Insira o seguinte texto na caixa de texto. Substitua domain pelo seu domínio.

    _acme-challenge.domain

    Exemplo:

    _acme-challenge.example.com
    Pesquisa de registro TXT do MXToolbox.
  3. Escolha Pesquisa de TXT para executar a verificação.

  4. Uma das seguintes respostas ocorre:

    • Se seus registros TXT tiverem se propagado para o DNS da Internet, você verá uma resposta semelhante à mostrada na captura de tela a seguir. Feche a janela do navegador e prossiga para a próxima seção deste tutorial.

      Confirmação de que registros TXT foram propagados.
    • Se seus registros TXT não tiverem se propagado para o DNS da Internet, você verá uma resposta de registro DNS não encontrado. Confirme se você adicionou os registros DNS corretos à zona DNS dos seus domínios. Se você adicionou os registros corretos, espere um pouco mais para permitir que os registros DNS do seu domínio se propaguem e execute a pesquisa TXT novamente.

Etapa 6: concluir a solicitação do certificado SSL Let's Encrypt

Volte para a sessão SSH baseada no navegador Lightsail para sua WordPress instância e conclua a solicitação do certificado Let's Encrypt. O Certbot salva seu certificado SSL, sua cadeia e seus arquivos de chave em um diretório específico em sua instância. WordPress

Para concluir a solicitação do certificado SSL Let's Encrypt
  1. Na sessão SSH baseada no navegador Lightsail para sua WordPress instância, pressione Enter para continuar sua solicitação de certificado SSL Let's Encrypt. Se bem-sucedido, uma resposta semelhante à mostrada na captura de tela a seguir aparecerá:

    Solicitação de certificado Let's Encrypt bem-sucedida.

    A mensagem confirma que os arquivos de certificado, de cadeia e de chave estão armazenados no diretório /etc/letsencrypt/live/domain/. Substitua domain pelo seu domínio, como /etc/letsencrypt/live/example.com/.

  2. Anote a data de expiração especificada na mensagem. Você pode usá-la para renovar seu certificado até essa data.

    Data de renovação do certificado da Let's Encrypt.
  3. Agora que você tem o certificado SSL Let's Encrypt, continue na próxima seção deste tutorial.

Crie links para os arquivos de certificado SSL do Let's Encrypt no diretório do servidor Apache em sua instância. WordPress Além disso, faça backup de seus certificados existentes, caso precise deles mais tarde.

Para criar links para os arquivos de certificado do Let's Encrypt no diretório do servidor Apache
  1. Na sessão SSH baseada no navegador Lightsail para sua WordPress instância, digite o seguinte comando para interromper os serviços subjacentes:

    sudo systemctl stop apache2
  2. Digite o comando a seguir para definir uma variável de ambiente para o seu domínio. Lembre-se de substituir domain pelo nome do seu nome de registro registrado.

    DOMAIN=domain

    Exemplo:

    DOMAIN=example.com
    nota

    Se você fechou a janela do terminal SSH baseado em navegador desde a configuração da DOMAIN variável na Etapa 3, execute DOMAIN=example.com novamente, example.com substituindo-a pelo seu domínio.

  3. Digite o comando a seguir para confirmar se a variável retorna o valor correto:

    echo $DOMAIN
    Confirme a variável de ambiente do domínio.
  4. Insira os seguintes comandos individualmente para fazer backup de seus arquivos de certificado existentes:

    export BACKUP_PATH=/opt/aws/wordpress sudo cp /etc/ssl/certs/ssl-cert-snakeoil.pem $BACKUP_PATH/ssl-cert-snakeoil.pem.backup sudo cp /etc/ssl/private/ssl-cert-snakeoil.key $BACKUP_PATH/ssl-cert-snakeoil.key.backup
  5. Digite os seguintes comandos individualmente para criar links para seus arquivos de certificado do Let's Encrypt no diretório Apache:

    sudo ln -sf /etc/letsencrypt/live/$DOMAIN/fullchain.pem /etc/ssl/certs/ssl-cert-snakeoil.pem sudo ln -sf /etc/letsencrypt/live/$DOMAIN/privkey.pem /etc/ssl/private/ssl-cert-snakeoil.key
  6. Digite o seguinte comando para iniciar os serviços subjacentes que você tinha interrompido anteriormente:

    sudo systemctl start apache2

    Os arquivos do certificado SSL da sua WordPress instância agora estão no diretório correto.

  7. Prossiga para a próxima seção deste tutorial.

Etapa 8: Configurar o redirecionamento HTTPS com o plug-in Really Simple SSL

Instale o plug-in Really Simple SSL em seu WordPress site e use-o para integrar o certificado SSL. O Really Simple SSL também configura o redirecionamento HTTP para HTTPS para garantir que os usuários que acessam seu site sempre estejam na conexão HTTPS.

Para integrar o certificado SSL ao seu WordPress site usando o plug-in Really Simple SSL
  1. Na sessão SSH baseada no navegador Lightsail para sua WordPress instância, digite o comando a seguir para definir seu wp-config.php arquivo para ser gravável. O plug-in Really Simple SSL grava no wp-config.php arquivo para configurar seus certificados.

    sudo chmod 666 /var/www/wp-config.php
  2. Abra uma nova janela do navegador e faça login no painel de administração da sua WordPress instância.

    nota

    Para obter mais informações, consulte Iniciar e configurar uma WordPress instância.

  3. Escolha Plug-ins no painel de navegação esquerdo.

  4. Escolha Adicionar novo plug-in na parte superior da página de plug-ins.

    Adicione um novo plug-in no painel de WordPress administração.
  5. Procure Really Simple SSL.

  6. Escolha Install Now (Instalar Agora) ao lado do plugin Really Simple SSL nos resultados da pesquisa.

    Plug-in SSL realmente simples nos resultados da pesquisa de WordPress plug-ins.
  7. Depois de concluir a instalação, escolha Ativar.

  8. No prompt exibido, escolha Go ahead, activate SSL! (Vamos lá, ative o SSL!) Você pode ser redirecionado para a página de login do painel de administração da sua instância. WordPress

  9. Volte para a sessão SSH baseada no navegador Lightsail para sua WordPress instância e digite o comando a seguir para restaurar as permissões restritivas no arquivo. wp-config.php Esse arquivo contém credenciais de banco de dados e chaves de segurança que não devem ser deixadas legíveis por todo o mundo.

    sudo chmod 640 /var/www/wp-config.php

Sua WordPress instância agora está configurada para usar criptografia SSL. Além disso, sua WordPress instância agora está configurada para redirecionar automaticamente as conexões de HTTP para HTTPS. Quando um visitante acessahttp://example.com, ele é automaticamente redirecionado para a conexão HTTPS criptografada (ou seja,https://example.com).

Etapa 9: renovar os certificados da Let's Encrypt a cada 90 dias

Os certificados Let's Encrypt são válidos por 90 dias. Os certificados podem ser renovados 30 dias antes da data de expiração. Para renovar os certificados Let's Encrypt, execute o comando original usado para obtê-los. Repita as etapas na seção Solicitar um certificado curinga SSL Let's Encrypt deste tutorial.

nota

O fluxo de trabalho guiado do Amazon Lightsail gerencia a renovação do certificado automaticamente. Para evitar a renovação manual de certificados, mude para o fluxo de trabalho guiado. Para obter mais informações, consulte Iniciar e configurar uma WordPress instância.