Hace unos años por esta misma tenía un par de servicios que tenía levantados, hacía ya un tiempo, pero ya me enfrentaba a un nuevo reto que era actualizar los certificados TLS.
Después de encontrarme en serios problemas por no poder solucionarlo, llegue a la conclusión de que era problemas de filtrado en el firewall. La solución es darle acceso temporal al bot de let's encrypt para hacer la renovación y luego cerrarlo.
Lo primero hay que hacer los cambios en la configuración de perfil para el firewall / ufw en mi caso habilitar el puerto 80 y 443
[letsencrypt]
title=access to the world for Let's Encrypt
description=access to the world for Let's Encrypt
ports=80/tcp|443/tcp
Los perfiles de ufw suele encontrarse en la ruta /etc/ufw/applications.d/ y para habilitarlo con el comando:
ufw allow letsencrypt
Para probarlo, let's encript tiene un mecanismo de prueba, que permite simular la renovación de los certificados.
certbot renewal --dry-run
Después de generar la prueba y/o generar el certificado no hay que olvidar, desactivar y en su defecto la regla que se creó. Adicionalmente, se puede crear un script de bash o directamente con crobjob para actualizar los certificados cada X periodo de tiempo