Let’s Encrypt suele verificar que controlas un dominio pidiéndote que sirvas un fichero por HTTP en el puerto 80. ¿Y si el servicio no está expuesto a Internet? Un panel de Home Assistant en la red local, un NAS, un Grafana detrás de la VPN… Para eso existe el desafío DNS-01, y es más sencillo de lo que parece.
Cómo funciona
En lugar de comprobar un fichero en tu servidor, Let’s Encrypt te pide que publiques un registro TXT con un valor concreto en _acme-challenge.tudominio. Si lo encuentra, emite el certificado. Tu servidor no necesita tener ningún puerto abierto: solo necesitas poder modificar el DNS de tu dominio de forma automática.
Ventajas adicionales:
- Permite certificados comodín (
*.casa.midominio.es), que con HTTP-01 no son posibles. - Un solo certificado puede servir para todos los servicios internos.
Lo que necesitas
- Un dominio propio. Los subdominios de servicios gratuitos no sirven, salvo que el servicio publique tu TXT (DuckDNS, por ejemplo, lo permite).
- Un DNS con API soportado por tu cliente ACME. Certbot tiene plugins para muchos proveedores y acme.sh soporta más de cien.
- Credenciales de API con el mínimo permiso posible, guardadas en un fichero solo legible por root.
Ejemplo con acme.sh
curl https://get.acme.sh | sh -s [email protected]
export CF_Token="token-con-permiso-de-dns"
~/.acme.sh/acme.sh --issue --dns dns_cf \
-d casa.midominio.es -d '*.casa.midominio.es'
El nombre del módulo (dns_cf en el ejemplo, para Cloudflare) cambia según tu proveedor; la lista completa está en su wiki. acme.sh deja programada la renovación automática.
Y si tu IP cambia
El desafío DNS-01 no depende de la IP: puedes renovar certificados aunque tu servidor esté en una conexión doméstica. Pero si además quieres llegar a esos servicios desde fuera, el nombre tiene que apuntar a tu IP actual. Si estás en ese caso, en nuestra guía de DNS dinámico en Linux para un servidor casero comparamos las opciones; algunos registradores lo incluyen con el dominio y te ahorras un servicio.
Precauciones
- Un token de API de DNS es poderoso: quien lo tenga puede redirigir tu dominio. Limítalo a una zona y a edición de DNS.
- Los registros TXT tardan en propagarse. Si falla la validación, aumenta la espera (
--dnssleepen acme.sh). - Los certificados comodín revelan menos nombres en los registros públicos de transparencia de certificados que uno por servicio.

