ssh gratis con certbot

Cómo solucionar una caída de SSL y validar MongoDB en Ubuntu con Nginx

Cuando un proveedor de dominios o certificados (como IONOS) cancela o vence un SSL, el impacto en cadena puede ser caótico. Las aplicaciones en Next.js, Express o WebSockets dejan de comunicarse entre sí y con la base de datos, dando la falsa impresión de que el backend o la base de datos se han caído.

En esta guía rápida comparto el paso a paso para diagnosticar el estado de la base de datos y sustituir un SSL vencido por uno gratuito y autorenovable usando Let's Encrypt y Certbot.

Paso 1: Diagnosticar la Base de Datos (MongoDB)

Antes de tocar el servidor web, es crucial verificar si el motor de la base de datos sigue vivo de forma interna.

  1. Verificar el estado del servicio en Ubuntu:

     sudo systemctl status mongod

    Si el estado es active (running), el motor está perfecto. El problema de conexión es puramente por el bloqueo del tráfico SSL.

  2. Probar la conexión interna:

    mongosh

    (O mongo en versiones antiguas). Si logras entrar al prompt test>, la base de datos está intacta.

Paso 2: Instalar y Verificar Certbot

Para automatizar el nuevo certificado gratuito, utilizamos Certbot, que además se encargará de renovarlo automáticamente cada 3 meses.

  1. Instalar Certbot y su extensión para Nginx:

  sudo apt update

   sudo apt install certbot python3-certbot-nginx -y
  1. Validar la instalación:

 certbot --version

Paso 3: Generar e Inyectar el SSL en Nginx

Certbot es lo suficientemente inteligente como para leer los archivos de configuración de Nginx (sites-enabled) y detectar nuestros dominios y subdominios automáticamente.

  1. Lanzar el asistente de Certbot

  sudo certbot --nginx
  1. Seleccionar los dominios: El asistente mostrará una lista con el dominio principal y los subdominios (por ejemplo: lavour.es, database.lavour.es, socket.lavour.es). Para aplicar el SSL a todos de golpe, simplemente se deja el campo en blanco y se presiona Enter.

Certbot se comunicará con Let's Encrypt, validará los dominios, descargará los certificados y modificará los archivos de Nginx de forma automática.

Paso 4: Aplicar Cambios y Reiniciar el Servidor Web

Finalmente, para asegurarnos de que Nginx asimile la nueva configuración sin romper nada:

  1. Comprobar la sintaxis de Nginx:

    sudo nginx -t
  2. Reiniciar el servicio si el test da OK:

    sudo systemctl restart nginx

¡Y listo! Al refrescar el navegador, el candado de seguridad vuelve a estar activo y el ecosistema de aplicaciones (Next.js, Express y Sockets) recupera la conectividad total con MongoDB de forma segura.

Comentarios

Cargando comentarios…