TLS

Failed authorization procedure ... Invalid response from http://.../.well-known/acme-challenge/

El certificado no se renueva y caducará sin más aviso que el correo de Let's Encrypt. La validación consiste en que la autoridad pida un fichero por HTTP y reciba exactamente lo que espera. Las versiones recientes de certbot lo dicen con otras palabras —«Certbot failed to authenticate some domains», y debajo el detalle con el mismo «Invalid response from»—, pero el fallo y el diagnóstico son los mismos.

Se comprueba siempre con --dry-run, que hace la validación completa contra el entorno de pruebas sin gastar los límites de emisión.

Qué comprobar, y en qué orden

En el orden en que lo miramos nosotros. No es un ranking de frecuencia: no publicamos estadísticas que no hemos medido.

  1. 1

    La redirección a HTTPS también redirige la ruta de validación, y la autoridad no obtiene el fichero.

    Comprobar

    curl -sSI http://ejemplo.com/.well-known/acme-challenge/prueba

    Corregir

    # Excluir esa ruta de la redirección en el server del puerto 80:
    #   location ^~ /.well-known/acme-challenge/ { root /var/www/certbot; }
    sudo nginx -t && sudo systemctl reload nginx
  2. 2

    El DNS ya no apunta a esta máquina. Frecuente tras una migración en la que se dejó el certbot antiguo.

    Comprobar

    dig +short ejemplo.com
    curl -sS ifconfig.me

    Corregir

    # Renovar desde el servidor al que apunta el dominio, o actualizar el DNS.
  3. 3

    El puerto 80 está cerrado. La validación HTTP-01 lo necesita aunque el sitio solo se sirva por HTTPS.

    Comprobar

    sudo ss -tlnp | grep ':80'

    Corregir

    sudo ufw allow 80/tcp
  4. 4

    El temporizador de renovación no se está ejecutando, así que el fallo lleva semanas sin que nadie lo vea.

    Comprobar

    systemctl list-timers | grep certbot

    Corregir

    sudo systemctl enable --now certbot.timer

Un detalle que ahorra tiempo

Este es el error que más caro sale por llegar tarde: la renovación falla en silencio y el aviso llega cuando el navegador ya muestra la advertencia. Comprobar el temporizador vale tanto como arreglar la causa.

Los comandos de esta página se ejecutan en tu servidor y algunos modifican la configuración: léelos antes de pegarlos. Las rutas y los nombres de servicio varían entre distribuciones. Así se elabora este catálogo.