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:
-
Crie uma WordPress instância no Lightsail. Para saber mais, consulte Iniciar e configurar uma WordPress instância.
-
Registre um nome de domínio e obtenha acesso administrativo para editar seus registros DNS. Para saber mais, consulte DNS.
nota
Recomendamos que você gerencie os registros DNS do seu domínio usando uma zona DNS do Lightsail. Para saber mais, consulte Criação de uma zona DNS para gerenciar os registros DNS do seu domínio.
-
Use o terminal SSH baseado em navegador no console do Lightsail para executar as etapas deste tutorial. No entanto, você também pode usar seu próprio cliente SSH, como o PuTTY. Para saber mais sobre como configurar o PuTTY, consulte Baixar e configurar o PuTTY para se conectar usando SSH.
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
-
Faça login no console do Lightsail.
-
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.
-
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 -
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 -ynota
Se você encontrar um
Could not get lockerro ao executar osudo apt-get installcomando, 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. -
Digite o seguinte comando a seguir para atualizar apt para incluir o novo repositório:
sudo apt-get update -y -
Insira o comando a seguir para instalar o Certbot:
sudo apt-get install certbot -yO 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
-
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
domainpelo nome do seu nome de registro registrado.DOMAIN=domainWILDCARD=*.$DOMAINExemplo:
DOMAIN=example.com WILDCARD=*.$DOMAIN -
Digite o seguinte comando para confirmar que as variáveis retornarão os valores corretos:
echo $DOMAIN && echo $WILDCARDSerá exibido um resultado semelhante ao seguinte:
-
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 -
Insira seu endereço de e-mail quando solicitado, pois ele é usado para avisos de renovação e segurança.
-
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.
-
Responda adequadamente ao prompt para compartilhar seu endereço de e-mail e o aviso sobre o registro do seu endereço IP.
-
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.
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
-
No painel de navegação esquerdo, escolha Domínios e DNS.
-
Na seção Zonas DNS da página, escolha a zona DNS para o domínio especificado na solicitação de certificado Certbot.
-
No editor de zonas DNS, escolha a guia DNS records (Registros DNS).
-
Escolha Adicionar registro.
-
No menu suspenso Record type (Tipo de registro), escolha TXT record (Registro TXT).
-
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
subdomínio, então você só precisa entrar_acme-challenge.example.comna caixa de texto e o Lightsail adiciona a_acme-challenge.example.comporção para você quando você salvar o registro. -
Escolha Salvar.
-
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
-
Abra uma nova janela do navegador e acesse https://mxtoolbox.com/TXTLookup.aspx
. -
Insira o seguinte texto na caixa de texto. Substitua
domainpelo seu domínio._acme-challenge.domainExemplo:
_acme-challenge.example.com
-
Escolha Pesquisa de TXT para executar a verificação.
-
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.
-
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
-
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á:
A mensagem confirma que os arquivos de certificado, de cadeia e de chave estão armazenados no diretório
/etc/letsencrypt/live/. Substituadomain/domainpelo seu domínio, como/etc/letsencrypt/live/example.com/. -
Anote a data de expiração especificada na mensagem. Você pode usá-la para renovar seu certificado até essa data.
-
Agora que você tem o certificado SSL Let's Encrypt, continue na próxima seção deste tutorial.
Etapa 7: Criar links de arquivos de certificado no diretório Apache
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
-
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 -
Digite o comando a seguir para definir uma variável de ambiente para o seu domínio. Lembre-se de substituir
domainpelo nome do seu nome de registro registrado.DOMAIN=domainExemplo:
DOMAIN=example.comnota
Se você fechou a janela do terminal SSH baseado em navegador desde a configuração da
DOMAINvariável na Etapa 3, executeDOMAIN=novamente,example.comexample.comsubstituindo-a pelo seu domínio. -
Digite o comando a seguir para confirmar se a variável retorna o valor correto:
echo $DOMAIN
-
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 -
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 -
Digite o seguinte comando para iniciar os serviços subjacentes que você tinha interrompido anteriormente:
sudo systemctl start apache2Os arquivos do certificado SSL da sua WordPress instância agora estão no diretório correto.
-
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
-
Na sessão SSH baseada no navegador Lightsail para sua WordPress instância, digite o comando a seguir para definir seu
wp-config.phparquivo para ser gravável. O plug-in Really Simple SSL grava nowp-config.phparquivo para configurar seus certificados.sudo chmod 666 /var/www/wp-config.php -
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.
-
Escolha Plug-ins no painel de navegação esquerdo.
-
Escolha Adicionar novo plug-in na parte superior da página de plug-ins.
-
Procure Really Simple SSL.
-
Escolha Install Now (Instalar Agora) ao lado do plugin Really Simple SSL nos resultados da pesquisa.
-
Depois de concluir a instalação, escolha Ativar.
-
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
-
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.phpEsse 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.