Base de conocimientos
1 000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Renovar un certificado "comodín" mediante el desafío DNS
Esta guía explica cómo generar y renovar automáticamente un certificado wildcard mediante un proceso de verificación DNS utilizando Certbot y el complemento dns-infomaniak.
1. Instalación de las herramientas necesarias
El complemento DNS de Infomaniak no está incluido de forma predeterminada. Para evitar el error el complemento no parece estar instalado, instale certbot y su extensión siguiendo las instrucciones oficiales.
Asegúrese de seleccionar la pestaña Comodín en el sitio web de Certbot después de elegir su sistema.
2. Generación manual inicial
Ejecute este comando para iniciar la primera generación del certificado:
certbot certonly --manual \
-d *.example.com \
--preferred-challenges dns-01 \
--server {{URL_1}}
3. Verificación del desafío DNS (registro TXT)
Para demostrar que es propietario del dominio, acceda a su Panel de control de Infomaniak y cree el siguiente registro TXT:
- Nombre:
_acme-challenge - Valor: (el que proporciona el comando Certbot)
4. Preparación de la API de Infomaniak
Para automatizar el proceso, genere un token de API con el ámbito domain en su panel de control. Este token permitirá que el script actualice sus DNS automáticamente.
5. Script de autenticación (infomaniak-auth.sh)
Cree el archivo /root/infomaniak-auth.sh. Este script será llamado por Certbot durante la renovación:
#!/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_5}} \
-d "$CERTBOT_DOMAIN" \
--agree-tosHaga que el script sea ejecutable:
chmod +x /root/infomaniak-auth.sh
6. Script de limpieza (infomaniak-clean.sh)
Cree el archivo /root/infomaniak-clean.sh para finalizar el procedimiento:
#!/bin/bash
# Optional: Cleanup operations after challenge
exit 0Haga que el script sea ejecutable:
chmod +x /root/infomaniak-clean.sh
7. Configuración de la renovación automática
Edite o cree el siguiente archivo de configuración: /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_6}}
pref_challs = dns-01
account = YOUR_ACCOUNT_ID
key_type = rsa
8. Pruebas y automatización (Cron)
Antes de automatizarlo, compruebe que todo funciona correctamente mediante una simulación:
certbot renew --dry-runSi la prueba tiene éxito, agregue esta tarea Cron para verificar la renovación cada X días:
0 0 */30 * * /usr/bin/certbot renew --quiet --config /etc/letsencrypt/renewal/example.com.confModifique los 30 días indicados anteriormente según la frecuencia deseada. El cron utilizará automáticamente:
- el archivo
domain.tld.conf - el script de autenticación
infomaniak-auth.sh - el complemento
dns-infomaniak
Enlace a esta FAQ: https://faq.infomaniak.com/1708
¿Le ha sido útil esta FAQ?