Durante la renovación de un certificado SSL con Certbot en un servidor Ubuntu con Apache, me encontré con el siguiente error:
Certbot failed to authenticate some domains (authenticator: webroot). The Certificate Authority reported these problems:
Domain: www.server.net
Type: unauthorized
Detail: Invalid response from http://www.server.net/.well-known/acme-challenge/...
Este mensaje me decía que Let’s Encrypt no pudo verificar el dominio porque no logró acceder al archivo de desafío (challenge
) que Certbot crea temporalmente.
🔎 Diagnóstico
Las posibles causas eran:
- El dominio
www.server.net
no apuntaba a la IP correcta. - Apache no estaba sirviendo correctamente los archivos de
.well-known/acme-challenge/
. - Certbot estaba usando una ruta (
webroot
) equivocada. - Algún redireccionamiento (como HTTP a HTTPS) estaba interfiriendo.
✅ Paso a paso para solucionarlo
1. Verifiqué que no hubiese procesos colgados de Certbot
ps aux | grep certbot
No había ningún proceso activo, así que continué.
2. Limpié archivos temporales
sudo rm -rf /var/lib/letsencrypt/.lock
sudo rm -rf /tmp/tmp*
3. Probé si el servidor servía correctamente los archivos de verificación
sudo mkdir -p /var/www/html/.well-known/acme-challenge
echo "funciona" | sudo tee /var/www/html/.well-known/acme-challenge/test.txt
Luego accedí desde el navegador:
http://www.server.net/.well-known/acme-challenge/test.txt
🟢 Si el archivo carga bien, el webroot
es correcto.
🔴 Si no carga, Apache no está bien configurado o la ruta no es la correcta.
4. Ejecuté Certbot con el plugin Apache (solución más sencilla)
Como estaba usando Apache, decidí no complicarme con rutas y simplemente ejecuté:
sudo certbot --apache -d www.server.net
Este método permite que Certbot configure automáticamente la validación del dominio, sin depender del webroot
.
🎉 Resultado
El certificado se renovó correctamente y el sitio volvió a tener HTTPS sin errores.
💡 Conclusión
Si estás usando Apache, lo más sencillo para renovar o emitir certificados con Certbot es usar directamente el plugin --apache
, que se encarga de la autenticación y configuración automática. Solo es necesario asegurarse de que el dominio apunte correctamente al servidor y que el sitio sea accesible por HTTP.