Inicio » [SOLUCIONADO] Error Certbot 'Failed authorization procedure (http-01)'
Sistemas y Servidores

[SOLUCIONADO] Error Certbot 'Failed authorization procedure (http-01)'

✨ Respuesta Rápida

El error Certbot: Failed authorization procedure. domain.com (http-01): fetching http://domain.com/.well-known/acme-challenge/...: Connection refused / Timeout ocurre al intentar emitir o renovar un certificado SSL gratuito de Let's Encrypt cuando los servidores de validación de Let's Encrypt no pueden acceder al archivo de prueba temporal generado en tu servidor web.

El Diagnóstico Rápido

Causa
Puerto 80 bloqueado por firewall o servidor web mal configurado
Solución
Abrir el puerto 80 en el firewall: ufw allow 80/tcp
Causa
Ruta del desafío .well-known/acme-challenge inaccesible
Solución
Verificar que el directorio raíz root coincida exactamente en Nginx/Apache

Solución Rápida (1 Minuto):

  1. Abre el puerto 80 en tu firewall: sudo ufw allow 80/tcp
  2. Si usas Nginx, detén el servicio temporalmente para renovar en modo standalone: sudo systemctl stop nginx && sudo certbot certonly --standalone -d tudominio.com

La Solución Paso a Paso

Paso 1: Comprobar el bloqueo del puerto 80 (HTTP)

Let's Encrypt exige obligatoriamente que el puerto 80 esté abierto y accesible desde internet para completar la validación http-01, incluso aunque estés configurando una redirección hacia HTTPS (puerto 443).

  1. 1

    Verificar firewall interno UFW / Firewalld:

    BASH
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    sudo ufw reload
    
  2. 2

    Verificar Security Groups en la nube (AWS / Cloud / Proxmox):

    Asegúrate de que las reglas de entrada (Inbound Rules) de tu VPS autoricen el tráfico del puerto 80 para cualquier IP (0.0.0.0/0).

Paso 2: Configurar la ruta de validación en Nginx

Si tienes Nginx activo, la directiva del bloque de servidor debe permitir el acceso a la carpeta oculta .well-known/acme-challenge/:

Abre tu archivo de configuración en /etc/nginx/sites-available/tudominio.conf:

NGINX
server {
    listen 80;
    server_name tudominio.com www.tudominio.com;

    location /.well-known/acme-challenge/ {
        root /var/www/html;
        allow all;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

Verifica y reinicia Nginx:

BASH
sudo nginx -t && sudo systemctl restart nginx

Paso 3: Renovar certificados en Modo Standalone

Si el servidor web tiene configuraciones complejas que interfieren con la ruta, utiliza el plugin standalone de Certbot apagando momentáneamente tu servidor web:

BASH
# 1. Detener el servidor web
sudo systemctl stop nginx || sudo systemctl stop apache2

# 2. Ejecutar Certbot Standalone
sudo certbot certonly --standalone -d tudominio.com -d www.tudominio.com

# 3. Volver a iniciar el servidor web
sudo systemctl start nginx || sudo systemctl start apache2

Consejo de Prevención

Prácticas de seguridad recomendadas:

  • Utiliza la opción --webroot en renovaciones automáticas de Certbot para evitar interrumpir la ejecución de tu servidor web Nginx o Apache.
Autor • Diseñador Web & Creador de Apps

Rodolfo Castro

Diseñador web, creador de aplicaciones y fundador de SoporteCero. Especialista en desarrollo de productos digitales, interfaz de usuario y arquitectura web. Cada tutorial y solución de SoporteCero es reproducido y verificado en laboratorio técnico para ofrecer guías funcionales y actualizadas.