Inversores

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

Actualización 28/09/2026

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

Instale certbot y su extensión (❓: ayuda). Seleccione la pestaña Wildcard, esto evitará el error plugin does not appear to be installed.

 

2. Preparación de la API de Infomaniak

Para automatizar el proceso, genere un token de API (❓: ayuda). Busque "dns" y marque obligatoriamente los dos ámbitos dns:read y dns:write:

Estos permisos son necesarios para que Certbot pueda leer sus zonas DNS y crear/eliminar el registro TXT de validación.

 

3. Generación inicial manual y validación

Inicie la primera generación del certificado:

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

A continuación, acceda al Panel de control y cree el registro TXT solicitado (Nombre: _acme-challenge, Valor: el proporcionado por Certbot) para demostrar que es propietario del dominio (❓: ayuda).

 

4. Scripts de automatización

Cree el script de autenticación /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

Cree el script de limpieza /root/infomaniak-clean.sh:

#!/bin/bash

# Optional: Cleanup operations after challenge
exit 0

Haga que estos dos scripts sean ejecutables:

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

 

5. Configuración de la renovación automática

Edite o cree el 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_7}}
pref_challs = dns-01
account = YOUR_ACCOUNT_ID
key_type = rsa

 

6. Prueba y automatización (Cron)

Compruebe que todo funciona correctamente con una simulación de renovación:

certbot renew --dry-run

Si la prueba tiene éxito, añada esta tarea Cron para automatizar la renovación (aquí, una verificación cada 30 días):

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

¿Le ha sido útil esta FAQ?