Todas las guías de inicio Primeros pasos

Desafío DNS-01: cómo funciona y cómo completarlo

DNS-01 es el tipo de desafío ACME que soporta certificados comodín (*.example.com). Demuestra la propiedad del dominio añadiendo un registro TXT a tu DNS, sin necesidad de servidor web ni acceso al puerto 80.

Cómo funciona

  1. Let’s Encrypt proporciona un token para cada dominio
  2. GetHTTPS calcula un digest SHA-256 de la autorización de clave y lo codifica en base64url
  3. Creas un registro TXT en _acme-challenge.tudominio.com con este valor
  4. Let’s Encrypt consulta el DNS público en busca del registro TXT
  5. Si el valor coincide, el desafío se aprueba y se emite el certificado

Con GetHTTPS, los pasos 1-2 son automáticos: solo necesitas copiar y pegar el nombre del registro y el valor en tu proveedor DNS.

Configuración paso a paso

Paso 1: Obtener los datos del registro TXT de GetHTTPS

GetHTTPS te muestra:

  • Nombre del registro: _acme-challenge.tudominio.com
  • Valor del registro: una cadena codificada en base64url (~43 caracteres)

Paso 2: Añadir el registro TXT en tu proveedor DNS

CampoValor
TipoTXT
Nombre_acme-challenge (algunos proveedores añaden automáticamente el dominio)
ValorLa cadena que muestra GetHTTPS — cópiala y pégala exactamente
TTL60 segundos (o el mínimo que permita tu proveedor)

Instrucciones específicas por proveedor:

Cloudflare

  1. Dashboard → tu dominio → DNSRecordsAdd record
  2. Type: TXT, Name: _acme-challenge, Content: pega el valor
  3. TTL: Auto
  4. Haz clic en Save

AWS Route 53

  1. Hosted zones → tu dominio → Create record
  2. Record name: _acme-challenge
  3. Record type: TXT
  4. Value: "pega-el-valor-aquí" (incluye las comillas dobles — Route 53 las requiere)
  5. TTL: 300
  6. Haz clic en Create records

GoDaddy

  1. DNS ManagementAdd
  2. Type: TXT, Name: _acme-challenge, Value: pega el valor
  3. TTL: 1 Hour (el mínimo disponible)
  4. Haz clic en Save

Namecheap

  1. Domain ListManageAdvanced DNSAdd new record
  2. Type: TXT, Host: _acme-challenge, Value: pega el valor
  3. TTL: Automatic
  4. Haz clic en Save all changes

Google Cloud DNS

gcloud dns record-sets create _acme-challenge.yourdomain.com. \
  --zone=your-zone --type=TXT --ttl=60 --rrdatas="the-value"

DigitalOcean

  1. NetworkingDomains → tu dominio → Add record
  2. Type: TXT, Hostname: _acme-challenge, Value: pega el valor
  3. TTL: 30

Paso 3: Esperar la propagación DNS

Los cambios DNS tardan de 1 a 15 minutos dependiendo de tu proveedor y la configuración de TTL. La pre-verificación de GetHTTPS verifica que el registro TXT es visible desde la internet pública antes de enviar a Let’s Encrypt.

Verificar la propagación manualmente:

dig TXT _acme-challenge.yourdomain.com +short
# Debería devolver tu valor (entre comillas)

O usa un verificador de propagación en línea para ver si el registro es visible globalmente.

Paso 4: Verificar en GetHTTPS

Haz clic en Verify. GetHTTPS envía el desafío a Let’s Encrypt. Si el registro TXT es correcto, se emite el certificado.

Paso 5: Limpiar

Después de emitir el certificado, elimina el registro TXT _acme-challenge de tu DNS. Ya no es necesario y dejar registros obsoletos puede causar confusión durante la renovación.

Certificados comodín con DNS-01

Para obtener un certificado para *.tudominio.com, debes usar DNS-01. HTTP-01 no puede validar comodines porque un comodín cubre nombres de host infinitos; no hay un solo servidor donde colocar un archivo.

Comodín + dominio raíz: Si quieres tanto *.example.com como example.com, GetHTTPS puede requerir dos validaciones. Algunas configuraciones necesitan dos registros TXT en _acme-challenge.example.com simultáneamente: uno para el comodín, otro para el apex. Mantén ambos registros hasta que la validación se apruebe.

Guía completa de certificados comodín →

DNS-01 vs HTTP-01

DNS-01HTTP-01
Qué hacesAñadir un registro TXT en DNSColocar un archivo en tu servidor
Acceso necesarioConfiguración DNS del dominioSistema de archivos del servidor web
Requisito de puertoNingunoEl puerto 80 debe estar abierto
Soporte de comodines✅ Requerido para comodines
Funciona sin servidor
Velocidad1-15 min (propagación DNS)Instantáneo (si el archivo es accesible)
Funciona detrás de CDN✅ Siempre⚠️ Puede necesitar bypass del CDN
Ideal paraComodines, sin servidor, configuraciones con CDNLa mayoría de los certificados de dominio único

Elige DNS-01 cuando: necesitas un comodín, el puerto 80 está bloqueado, tu servidor no es accesible públicamente o estás detrás de un CDN.

Elige HTTP-01 cuando: tienes un servidor web, el puerto 80 está abierto y no necesitas un comodín. Es más rápido (sin espera de propagación).

Solución de problemas

GetHTTPS no encuentra el registro TXT

  • Espera más — algunos proveedores tardan 5-15 minutos. Un TTL bajo ayuda pero no elimina el tiempo de propagación.
  • Revisa el nombre del registro: Algunos proveedores añaden automáticamente el dominio. Si introduces _acme-challenge.example.com y el proveedor añade .example.com, el registro real se convierte en _acme-challenge.example.com.example.com (incorrecto). Introduce solo _acme-challenge y deja que el proveedor lo añada.
  • Verifica manualmente:
    dig TXT _acme-challenge.yourdomain.com +short
    Si esto devuelve vacío, el registro aún no se ha propagado.

Valor incorrecto / diferencia de mayúsculas

  • El valor es sensible a mayúsculas y minúsculas. Copia y pega directamente desde GetHTTPS; no lo reescribas.
  • No añadas comillas a menos que tu proveedor DNS las requiera (Route 53 sí, la mayoría no).

Conflicto con múltiples registros TXT

  • Elimina los registros TXT _acme-challenge antiguos de intentos previos antes de añadir nuevos.
  • Excepción: la validación de comodín + apex puede necesitar dos registros con el mismo nombre simultáneamente.

El proveedor DNS no soporta registros TXT

Raro, pero algunos servicios DNS básicos no tienen soporte TXT. Cambia a un proveedor DNS con todas las funciones (el plan gratuito de Cloudflare soporta todos los tipos de registro).

Cuándo usar DNS-01

Escenario¿DNS-01?
Certificado comodín (*.example.com)✅ Requerido
Puerto 80 bloqueado✅ Mejor opción
Servidor en red interna✅ Única opción
Detrás de proxy Cloudflare/CDN✅ Evita problemas con el proxy
Dominio sin servidor (parking, redirección)✅ Única opción
Certificado simple de dominio único con acceso al servidor⚠️ HTTP-01 es más rápido

Preguntas frecuentes

¿Puedo automatizar los desafíos DNS-01?

Sí, con herramientas CLI. acme.sh tiene integraciones de API incorporadas para más de 150 proveedores DNS: puede añadir y eliminar registros TXT automáticamente. Certbot soporta plugins DNS para los principales proveedores. GetHTTPS requiere cambios DNS manuales (basado en navegador, sin llamadas API).

¿Es seguro darle mi clave API DNS a un cliente ACME?

La clave API tiene acceso de escritura a tu zona DNS, así que trátala con la misma seguridad que las credenciales de tu servidor. Usa tokens API con alcance limitado cuando sea posible (por ejemplo, los tokens por zona de Cloudflare). Para máxima seguridad, usa GetHTTPS con cambios DNS manuales; sin claves API involucradas.

¿Cuánto tiempo necesito mantener el registro TXT?

Solo durante la validación, típicamente unos minutos. Una vez que tu certificado se emite, elimina el registro. Crearás uno nuevo con un valor nuevo cuando renueves.

¿Qué pasa si mi proveedor DNS es lento en propagar?

Configura el TTL lo más bajo que tu proveedor permita (idealmente 60 segundos). Si la propagación tarda más de 15 minutos, verifica que no haya errores tipográficos en el nombre/valor del registro, o prueba un proveedor DNS diferente. Cloudflare propaga registros TXT en segundos.

¿Funciona DNS-01 con el proxy de Cloudflare (nube naranja)?

Sí. La validación DNS-01 consulta el registro TXT vía DNS, no HTTP, así que el estado del proxy de Cloudflare (nube naranja vs gris) no importa. Esta es una ventaja clave sobre HTTP-01, que puede ser bloqueado por el proxy.

Artículos relacionados

Primeros pasos 2026-05-08
Cómo obtener un certificado SSL gratuito (guía paso a paso)
Obtén un certificado SSL gratuito de Let's Encrypt en 5 minutos — sin software que instalar, sin cuenta que crear. Guía completa con 4 métodos, ambos tipos de desafío, instalación en 6 plataformas y solución de problemas.
Primeros pasos 2026-05-08
Desafío HTTP-01: cómo funciona y cómo completarlo
HTTP-01 es la forma más sencilla de demostrar la propiedad del dominio para un certificado SSL. Coloca un archivo en tu servidor, Let's Encrypt lo verifica y tu certificado se emite.
Primeros pasos 2026-05-07
Cómo obtener un certificado SSL comodín gratuito
Obtén un certificado SSL comodín gratuito (*.example.com) de Let's Encrypt usando GetHTTPS. Requiere solo desafío DNS-01. Cubre la configuración DNS en Cloudflare, Route 53, GoDaddy y Namecheap.
Obtén un certificado SSL gratuito en tu navegador
Sin instalación, sin cuenta. Tu clave privada nunca sale de tu dispositivo.
Obtener certificado