Un certificado de Let's Encrypt se renueva solo cada sesenta días sin que nadie lo note, hasta que un cambio hecho meses atrás bloquea la validación. El fallo es silencioso; la primera señal suele ser un aviso del navegador.

Vea la caducidad real

echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -dates

Los tres bloqueadores

  • Una redirección que atrapa la petición de validación. La comprobación es una simple petición HTTP a /.well-known/acme-challenge/. Una regla general de http a https que también redirige esa ruta la rompe.
  • El registro DNS se movió. El dominio apunta ahora a otro sitio, así que la comprobación llega a un servidor que jamás ha oído hablar del desafío.
  • Un cortafuegos o un WAF bloqueando el puerto 80. Cerrar el 80 porque «ahora todo es https» cierra la puerta por la que entra la renovación.

Deje pasar el desafío

location ^~ /.well-known/acme-challenge/ {
    root /var/www/html;
    try_files $uri =404;
}

Ese bloque va antes de la regla de redirección, para que el desafío se responda y todo lo demás siga yendo a https.

Fuerce una renovación y obsérvela

certbot renew --dry-run

La prueba en seco hace todo el intercambio sin gastar cupo. Si pasa, la de verdad pasará.

Let's Encrypt limita los fallos repetidos. Arregle la causa y pruebe con --dry-run; repetir la orden de verdad en bucle le dejará fuera durante horas.
En el alojamiento de EGPHP la renovación se lleva por usted, y esta página es para un VPS que gestiona usted mismo. Si un certificado gestionado llega a mostrar un aviso, eso es un ticket de soporte, no un cambio de configuración.