Base de conhecimento

1000 perguntas frequentes, 500 tutoriais e vídeos explicativos. Aqui, você encontra apenas soluções!

Renovar um certificado "wildcard" por meio de um desafio DNS

Atualização 28/09/2026

Este guia explica como gerar e renovar automaticamente um certificado wildcard através de um desafio DNS, utilizando o Certbot e o plugin dns-infomaniak.

 

1. Instalação das ferramentas

Instale o certbot e sua extensão (❓: ajuda). Selecione a guia Wildcard, isso evitará o erro plugin does not appear to be installed.

 

2. Preparação da API Infomaniak

Para automatizar o processo, gere um token de API (❓: ajuda). Pesquise por "dns" e marque obrigatoriamente os dois escopos dns:read e dns:write:

Estas permissões são necessárias para que o Certbot possa ler as suas zonas DNS e criar/eliminar o registo TXT de validação.

 

3. Geração manual inicial e validação

Inicie a primeira geração do certificado:

certbot certonly --manual \
-d *.example.com \
--preferred-challenges dns-01 \
--server {{URL_3}}

Em seguida, acesse o Painel de Controle e crie o registro TXT solicitado (Nome: _acme-challenge, Valor: o valor fornecido pelo Certbot) para comprovar que você é o proprietário do domínio (❓: ajuda).

 

4. Scripts de automação

Crie o script de autenticação /root/infomaniak-auth.sh:

#!/bin/bash

# API Token for Infomaniak
INFOMANIAK_API_TOKEN="YOUR_API_TOKEN_HERE"

# Update DNS record via Infomaniak API plugin
/usr/bin/certbot \
  --authenticator dns-infomaniak \
  --server {{URL_6}} \
  -d "$CERTBOT_DOMAIN" \
  --agree-tos

Crie o script de limpeza /root/infomaniak-clean.sh:

#!/bin/bash

# Optional: Cleanup operations after challenge
exit 0

Torne estes dois scripts executáveis:

chmod +x /root/infomaniak-auth.sh /root/infomaniak-clean.sh

 

5. Configuração da renovação automática

Edite ou crie o arquivo de configuração /etc/letsencrypt/renewal/example.com.conf:

cert = /etc/letsencrypt/live/example.com/cert.pem
privkey = /etc/letsencrypt/live/example.com/privkey.pem
chain = /etc/letsencrypt/live/example.com/chain.pem
fullchain = /etc/letsencrypt/live/example.com/fullchain.pem

[renewalparams]
authenticator = manual
manual_auth_hook = /root/infomaniak-auth.sh
manual_cleanup_hook = /root/infomaniak-clean.sh
server = {{URL_7}}
pref_challs = dns-01
account = YOUR_ACCOUNT_ID
key_type = rsa

 

6. Teste e Automatização (Cron)

Verifique se tudo está funcionando corretamente com uma simulação de renovação:

certbot renew --dry-run

Se o teste for bem-sucedido, adicione esta tarefa Cron para automatizar a renovação (aqui, uma verificação a cada 30 dias):

0 0 */30 * * /usr/bin/certbot renew --quiet --config /etc/letsencrypt/renewal/example.com.conf

Esta seção de perguntas frequentes foi útil?