Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Como instalar um certificado SSL Let's Encrypt curinga em uma pilha Bitnami hospedada no Lightsail?
Quero instalar um certificado SSL curinga para meu site em uma instância do Amazon Lightsail com uma pilha Bitnami.
Breve descrição
Para obter informações sobre como instalar um blueprint de instância diferente ou um certificado padrão, consulte os seguintes artigos do Centro de Conhecimento da AWS:
- Como instalo um certificado SSL Let's Encrypt padrão em uma instância do Lightsail? Essa solução inclui instâncias como Amazon Linux 2 e Ubuntu.
- Como faço para instalar um certificado SSL Let's Encrypt em uma pilha Bitnami hospedada no Amazon Lightsail?Essa solução inclui instâncias como WordPress, LAMP e Magento.
- Como instalo um certificado SSL Let's Encrypt curinga no Amazon Lightsail? Essa solução inclui instâncias como Amazon Linux 2 e Ubuntu.
Resolução
As etapas usadas para instalar um certificado SSL Let's Encrypt curinga em uma instância do Lightsail hospedada em Bitnami dependem de qual provedor de DNS seu domínio usa. Verifique se o seu provedor de DNS está listado em Provedores de DNS no site da Lego. Em seguida, selecione o método apropriado a ser usado:
- use a ferramenta Lego fornecida pela Bitnami se o seu domínio usar um dos provedores de DNS listados.
- use o pacote Certbot se o seu domínio não estiver usando nenhum dos provedores de DNS listados.
Observação: os caminhos de arquivo mencionados neste artigo podem mudar dependendo se sua pilha Bitnami usa pacotes nativos do sistema Linux (Abordagem A) ou se é uma instalação independente (Abordagem B). Os projetos mais recentes do Bitnami WordPress estão disponíveis apenas para a Abordagem A.
Para identificar o tipo de instalação do Bitnami, execute o seguinte comando:
test ! -f "/opt/bitnami/common/bin/openssl" && echo "Approach A: Using system packages." || echo "Approach B: Self-contained installation."
Ferramenta Lego
O Bitnami fornece o bncert-tool e a ferramenta Lego. A ferramenta Lego suporta a criação de certificados SSL curinga. O bncert-tool não suporta a criação de certificados SSL curinga.
Observação: no exemplo a seguir, os provedores de DNS são o Amazon Route 53 e o Amazon Lightsail.
Para usar a ferramenta Lego para instalar um certificado SSL Let's Encrypt curinga, conclua as seguintes etapas:
-
Crie um usuário do AWS Identity and Access Management (IAM) com acesso programático. Para determinar as permissões de usuário do IAM necessárias para que a Lego conclua o desafio de DNS, consulte exemplos de políticas do IAM no site da Lego.
-
Para abrir o arquivo /root/.aws/credentials no editor nano, execute o seguinte comando:
sudo mkdir /root/.aws sudo nano /root/.aws/credentials
-
Insira as seguintes linhas no arquivo de credenciais:
[default] aws_access_key_id = AKIA************E aws_secret_access_key = 1yop**************************l region = us-east-1
Observação: substitua aws_access_key_id e aws_secret_access_key por seus valores. Substitua us-east-1 pela região da AWS da sua instância do Lightsail.
-
Salve o arquivo pressionando Ctrl+x, pressione y e, em seguida, Enter.
-
Se sua instância Bitnami não incluir o diretório /opt/bitnami/letsencrypt/, execute o seguinte comando para instalar manualmente o cliente Lego:
cd /tmp curl -Ls https://api.github.com/repos/xenolf/lego/releases/latest | grep browser_download_url | grep linux_amd64 | cut -d '"' -f 4 | wget -i - -O lego.tar.gz tar xzf lego.tar.gz sudo mkdir -p /opt/bitnami/letsencrypt sudo mv lego /opt/bitnami/letsencrypt/lego
-
Para criar um certificado Let's Encrypt curinga no servidor, execute o seguinte comando com base no seu tipo de servidor:
Servidores de nomes do Route 53:sudo /opt/bitnami/letsencrypt/lego --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns route53 --path="/opt/bitnami/letsencrypt" run
Servidores de nomes do Lightsail:
sudo DNS_ZONE=DOMAIN /opt/bitnami/letsencrypt/lego --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns lightsail --path="/opt/bitnami/letsencrypt" run
Observação: substitua EMAIL-ADDRESS pelo endereço de e-mail onde você deseja receber mais atualizações sobre seu certificado. Substitua DOMAIN pelo seu nome de domínio.
O certificado SSL e a chave privada são gerados nos seguintes locais: /opt/bitnami/letsencrypt/certificates/DOMAIN.crt ou /opt/bitnami/letsencrypt/certificates/DOMAIN.key. -
Para interromper os serviços de pilha Bitnami, execute o seguinte comando:
sudo /opt/bitnami/ctlscript.sh stop
-
Vincule o certificado SSL e o arquivo da chave do certificado aos locais que seu servidor web lê atualmente, com base no servidor e na abordagem:
Apache, Abordagem Asudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/apache2/conf/bitnami/certs/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt
Apache, Abordagem B
sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old sudo mv /opt/bitnami/apache2/conf/server.csr /opt/bitnami/apache2/conf/server.csr.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/apache2/conf/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/apache2/conf/server.crt
NGINX, Abordagem A
sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/nginx/conf/bitnami/certs/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt
NGINX, Abordagem B
sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old sudo mv /opt/bitnami/nginx/conf/server.csr /opt/bitnami/nginx/conf/server.csr.old sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.key /opt/bitnami/nginx/conf/server.key sudo ln -sf /opt/bitnami/letsencrypt/certificates/DOMAIN.crt /opt/bitnami/nginx/conf/server.crt
Observação: para os comandos anteriores, substitua DOMAIN pelo seu nome de domínio.
-
Para iniciar os serviços de pilha Bitnami, execute o seguinte comando:
sudo /opt/bitnami/ctlscript.sh start
-
Para automatizar a renovação do certificado, execute o seguinte comando para abrir o editor crontab:
sudo crontab -e -u bitnami
Observação: os certificados Let's Encrypt são válidos por 90 dias.
Digite a linha a seguir no arquivo crontab e salve o arquivo:
Apache
0 0 * * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns DNS renew >> /var/log/letsencrypt.log 2>&1 && sudo /opt/bitnami/apache/bin/httpd -f /opt/bitnami/apache/conf/httpd.conf -k graceful
Nginx
0 0 * * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="EMAIL-ADDRESS" --domains="DOMAIN" --domains="*.DOMAIN" --dns DNS renew >> /var/log/letsencrypt.log 2>&1 && sudo /opt/bitnami/nginx/sbin/nginx -c /opt/bitnami/nginx/conf/nginx.conf -s reload
Observação: substitua EMAIL-ADDRESS, DOMAIN e DNS pelos seus valores. Configure o redirecionamento HTTPS. Para obter mais informações, consulte Forçar o redirecionamento de HTTPS com o Apache e Forçar o redirecionamento de HTTPS com o NGINX no site da Bitnami.
Pacote Certbot
Pré-requisitos:
- Instale o Certbot.
- Determine sua distribuição Linux. Para instâncias hospedadas pelo Bitnami, a distribuição Linux é Debian ou Ubuntu. Execute o comando a seguir para confirmar sua distribuição Linux:
Observação: esse método não oferece suporte à renovação automática de certificados.cat /etc/os-release | grep -i ^id
Para usar o pacote Certbot para instalar um certificado SSL Let's Encrypt curinga, conclua as seguintes etapas:
-
Inicie uma Sessão Linux GNU Screen. Como a adição de registros TXT no provedor de DNS do domínio leva tempo, a sessão pode atingir o tempo limite. É uma prática recomendada executar os comandos no Linux GNU Screen para que a sessão não atinja o tempo limite. Para iniciar uma sessão de tela, execute o seguinte comando:
screen -S letsencrypt
-
Para iniciar o modo interativo do Certbot, execute o seguinte comando:
sudo certbot certonly --manual --preferred-challenges dns -d example.com -d *.example.com
Observação: substitua example.com pelo seu valor.
Se você receber uma resposta de erro, como “bash: certbot: command not found”, talvez seja necessário adicionar /bin/snap à sua variável de ambiente PATH. Primeiro, digite “exit” e pressione Enter. Ou pressione Ctrl + D para sair da sessão da tela. Em seguida, edite /etc/environment e adicione /snap/bin na lista. Reinicie seu sistema. Para confirmar que não há mais um erro, execute o seguinte comando:$ certbot -h
-
Copie os registros TXT fornecidos pelo Let's Encrypt. O Let's Encrypt fornece um único ou vários registros TXT que você deve usar para verificação.
-
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. Além disso, não pressione Ctrl + D porque essa ação encerra a sessão da tela. -
Para confirmar que o registro foi propagado, procure o registro TXT na pesquisa de texto do DNS no site MxToolbox:
_acme-challenge.example.com
Observação: substitua example.com pelo seu valor.
Se seus registros TXT forem propagados, você verá o valor do registro TXT na página. Volte para a tela anterior e pressione Enter. -
Se você for removido do shell, execute o seguinte comando para retornar ao shell:
Screen -r SESSIONID
Observação: execute o comando screen -ls para obter o ID da sessão.
-
(Opcional) Se solicitado, repita as etapas anteriores para adicionar outro registro TXT.
Observação: se você usa o Route 53 para seu provedor de DNS, insira um valor TXT por linha. Edite o registro TXT e, em uma nova linha, adicione o valor TXT fornecido pelo certbot. -
Salve os locais dos arquivos do certificado SSL e do arquivo de chave. Depois que o certificado SSL for gerado, você receberá a mensagem “Certificado recebido com sucesso”.
-
Para configurar seu servidor web para usar o certificado, execute os seguintes comandos com base em seu servidor e abordagem:
Apache, Abordagem Asudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.crt /opt/bitnami/apache2/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/apache2/conf/bitnami/certs/server.key /opt/bitnami/apache2/conf/bitnami/certs/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/apache2/conf/bitnami/certs/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/bitnami/certs/server.crt sudo /opt/bitnami/ctlscript.sh start
Apache, Abordagem B
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/apache2/conf/server.crt /opt/bitnami/apache2/conf/server.crt.old sudo mv /opt/bitnami/apache2/conf/server.key /opt/bitnami/apache2/conf/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/apache2/conf/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/apache2/conf/server.crt sudo /opt/bitnami/ctlscript.sh start
NGINX, Abordagem A
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.crt /opt/bitnami/nginx/conf/bitnami/certs/server.crt.old sudo mv /opt/bitnami/nginx/conf/bitnami/certs/server.key /opt/bitnami/nginx/conf/bitnami/certs/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/nginx/conf/bitnami/certs/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/bitnami/certs/server.crt sudo /opt/bitnami/ctlscript.sh start
NGINX, Abordagem B
sudo /opt/bitnami/ctlscript.sh stop sudo mv /opt/bitnami/nginx/conf/server.crt /opt/bitnami/nginx/conf/server.crt.old sudo mv /opt/bitnami/nginx/conf/server.key /opt/bitnami/nginx/conf/server.key.old sudo ln -sf /etc/letsencrypt/live/DOMAIN/privkey.pem /opt/bitnami/nginx/conf/server.key sudo ln -sf /etc/letsencrypt/live/DOMAIN/fullchain.pem /opt/bitnami/nginx/conf/server.crt sudo /opt/bitnami/ctlscript.sh start
Observação: para os comandos anteriores, substitua DOMAIN pelo seu nome de domínio.
-
Configure o redirecionamento HTTPS. Para obter mais informações, consulte Forçar o redirecionamento de HTTPS com o Apache e Forçar o redirecionamento de HTTPS com o NGINX no site da Bitnami.

Conteúdo relevante
- feita há 2 meseslg...
- feita há 2 meseslg...
- feita há 4 meseslg...
- feita há 2 meseslg...