Todas las guías de inicio Primeros pasos

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

HTTP-01 es el tipo de desafío ACME más común para obtener un certificado SSL. La CA verifica que controlas un dominio recuperando un archivo específico de tu servidor web a través del puerto HTTP 80. Es más simple que DNS-01 pero no se puede usar para certificados comodín.

Cómo funciona

  1. Let’s Encrypt te da un token (una cadena aleatoria)
  2. Creas un archivo en http://tudominio.com/.well-known/acme-challenge/{token}
  3. El contenido del archivo es la autorización de clave — el token combinado con la huella digital de tu clave de cuenta ACME
  4. Let’s Encrypt recupera esta URL desde la internet pública
  5. Si el contenido coincide, el desafío se aprueba y tu certificado se emite

Con GetHTTPS, los pasos 1 y 3 se manejan automáticamente; solo necesitas colocar el archivo en tu servidor con los valores que se muestran en pantalla.

Cómo colocar el archivo del desafío

Vía SSH (Linux/Nginx/Apache)

# Crear el directorio
mkdir -p /var/www/html/.well-known/acme-challenge/

# Crear el archivo con los valores exactos de GetHTTPS
echo "KEY_AUTHORIZATION_FROM_GETHTTPS" > /var/www/html/.well-known/acme-challenge/TOKEN_FROM_GETHTTPS

# Verificar que es accesible
curl http://yourdomain.com/.well-known/acme-challenge/TOKEN_FROM_GETHTTPS

Vía Administrador de archivos de cPanel

  1. Navega a public_html
  2. Crea la carpeta .well-known → dentro de ella, crea la carpeta acme-challenge
  3. Crea un nuevo archivo con el nombre del valor del token
  4. Pega la autorización de clave como contenido del archivo
  5. Asegúrate de que los permisos sean 644 (legible por el servidor web)

Vía FTP

  1. Conéctate a la raíz de tu sitio
  2. Crea la ruta de directorio .well-known/acme-challenge/
  3. Sube un archivo de texto con el nombre del token, que contenga la autorización de clave

Configuración del servidor

Algunos servidores web necesitan configuración para servir archivos desde .well-known:

Nginx

# Añade a tu bloque server si .well-known devuelve 404
location /.well-known/acme-challenge/ {
    root /var/www/html;
    allow all;
}

Apache

Apache generalmente sirve .well-known por defecto. Si no:

Alias /.well-known/acme-challenge/ /var/www/html/.well-known/acme-challenge/
<Directory "/var/www/html/.well-known/acme-challenge/">
    AllowOverride None
    Options None
    Require all granted
</Directory>

Node.js / Express

app.use('/.well-known/acme-challenge', express.static('challenges'));

Requisitos

  • El dominio debe resolver a una dirección IP pública donde esté tu servidor
  • El puerto 80 debe estar abierto — Let’s Encrypt siempre valida sobre HTTP, no HTTPS
  • La respuesta debe devolver HTTP 200 OK
  • Sin redirecciones entre dominios — las redirecciones HTTP→HTTPS del mismo dominio están permitidas
  • El archivo debe ser accesible sin autenticación (sin Basic Auth, sin muro de login)

Cuándo usar HTTP-01

Escenario¿HTTP-01?
Certificado de dominio único✅ Sí — la opción más simple
Certificado de dominio + www✅ Sí — un desafío por nombre
Certificado comodín (*.example.com)❌ No — usa DNS-01
Puerto 80 bloqueado❌ No — usa DNS-01
Detrás de proxy Cloudflare⚠️ Puede necesitar poner DNS en nube gris primero
Sin acceso al servidor❌ No — usa DNS-01 (solo necesita acceso DNS)

HTTP-01 vs DNS-01

HTTP-01DNS-01
Qué hacesColocar un archivo en tu servidorAñadir un registro TXT en DNS
Acceso necesarioSistema de archivos del servidor webConfiguración DNS del dominio
Requisito de puertoPuerto 80 abiertoNinguno
Soporte de comodines
VelocidadInstantáneo (si el archivo es accesible)1-15 min (propagación DNS)
Funciona detrás de CDN⚠️ Puede necesitar bypass del CDN✅ Siempre funciona
Ideal paraLa mayoría de certificados de dominio únicoComodines, sin acceso al servidor, configuraciones con CDN

Solución de problemas

El archivo del desafío devuelve 404

  • Verifica la ruta exacta — debe ser /.well-known/acme-challenge/TOKEN sin barras extra
  • Verifica los permisos del archivo — chmod 644
  • Nginx: Tu configuración puede bloquear archivos con punto. Añade el bloque location mostrado arriba
  • cPanel: El administrador de archivos puede ocultar .well-known — activa «Mostrar archivos ocultos»

El desafío falla a pesar de que el archivo es accesible

  • Verifica desde fuera de tu red: curl http://tudominio.com/.well-known/acme-challenge/TOKEN desde otra máquina o usa una herramienta web
  • El DNS puede apuntar a un servidor diferente — verifica que dig +short tudominio.com devuelve la IP de tu servidor
  • Proxy de Cloudflare: Cambia temporalmente a DNS-only (nube gris) durante la validación

El puerto 80 está bloqueado

Algunos hosts o firewalls bloquean el puerto 80. Opciones:

  1. Abre el puerto 80 (aunque sea temporalmente para la validación)
  2. Cambia al desafío DNS-01 — no necesita el puerto 80
  3. Pide a tu proveedor de hosting que permita .well-known a través de su proxy

Error de «too many requests»

Has alcanzado los límites de tasa de Let’s Encrypt. Espera y reintenta. La pre-verificación de GetHTTPS ayuda a evitar intentos desperdiciados verificando que el archivo es accesible antes de enviar.

Preguntas frecuentes

¿Puedo eliminar el archivo del desafío después de obtener el certificado?

Sí. El archivo solo se necesita durante la validación. Una vez que tu certificado se emite, elimina el directorio .well-known/acme-challenge/ y su contenido. Crearás nuevos archivos cuando renueves.

¿El archivo necesita servirse por HTTPS?

No. Let’s Encrypt siempre valida HTTP-01 por HTTP simple (puerto 80), incluso si tu sitio soporta HTTPS. Las redirecciones HTTP→HTTPS del mismo dominio se siguen, pero la solicitud inicial siempre es HTTP.

¿Puedo usar HTTP-01 para múltiples dominios en un certificado?

Sí. Cada dominio en el certificado necesita su propio archivo de desafío. Si estás obteniendo un certificado para example.com y www.example.com, colocas dos archivos: un token por dominio. GetHTTPS los maneja secuencialmente.

¿Qué es la «pre-verificación» en GetHTTPS?

Antes de enviar a Let’s Encrypt, GetHTTPS verifica que tu archivo de desafío es accesible desde la internet pública (vía DNS-over-HTTPS de Google). Esto detecta errores de configuración antes de gastar un intento de límite de tasa, una función que otras herramientas basadas en navegador no tienen.

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 DNS-01: cómo funciona y cómo completarlo
La validación DNS-01 demuestra la propiedad del dominio añadiendo un registro TXT a tu DNS. Necesaria para certificados comodín. Cubre la configuración en Cloudflare, Route 53, GoDaddy, Namecheap y más.
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