UA-51298262-10 Skip to main content
Seguridad

SSL gratis en CentOS con Let’s Encrypt

By agosto 19, 2026No Comments
SSL gratis en CentOS con Let's Encrypt

Introducción a la seguridad web y Let’s Encrypt

Nadie quiere ver el advertencia de «No seguro» en su navegador. Es malo para el negocio y peor para la confianza. Si tu objetivo es instalar certificado SSL CentOS sin complicarte con burocracia ni costes altos, Let’s Encrypt es la respuesta. Se ha convertido en el estándar de facto porque funciona y es gratis. Ya no hacen falta esos certificados pagos caros que solían ser una barrera. Y si usas Nginx, todavía mejor: es rápido, ligero y gestiona el cifrado sin que el servidor note el peso.

Vamos a ver cómo montar todo esto en un servidor CentOS 7 u 8. Asumo algo básico: tienes acceso root (o sudo), Nginx ya está corriendo y tu dominio apunta a la IP correcta. Si no, es mejor arreglar eso antes.

Paso 1: Preparación del sistema y dependencias

Antes de nada, limpia el terreno. Un sistema desactualizado suele dar dolores de cabeza con las herramientas de cifrado modernas. Abre tu terminal y ponlo al día:

  1. Actualizar el repositorio de paquetes:
    sudo yum update -y
  2. Instalar herramientas necesarias: Podrías intentar hacerlo a mano, pero no lo hagas. Usa Certbot. Es la herramienta que automatiza todo el lío de obtener y renovar certificados. Instala el paquete y el plugin para Nginx así:
    sudo yum install epel-release -y
    sudo yum install certbot python3-certbot-nginx -y

Nota importante: Estás en CentOS 8 ¿Verdad? Entonces usarás dnf por defecto. Los comandos son casi iguales, pero asegúrate de que el repositorio EPEL esté activo.

Paso 2: Configurar el firewall y Nginx

Let’s Encrypt necesita poder llegar a tu servidor para validar que eres tú. Si tienes el firewall cerrado (lo cual es bueno por seguridad), tienes que abrir las puertas específicas para el tráfico web. Hablamos del puerto 80 (HTTP) y el 443 (HTTPS).

En CentOS, donde sueles tener firewalld, ejecuta esto:

  • sudo firewall-cmd --permanent --add-service=http
  • sudo firewall-cmd --permanent --add-service=https
  • sudo firewall-cmd --reload

Un detalle que mucha gente olvida. Revisa tu archivo de configuración de Nginx. Suelen estar en /etc/nginx/conf.d/tu-dominio.com.conf. Busca la directiva server_name. Tiene que cuadrar exactamente con el dominio que vas a certificar. Si no coincide, la validación fallará.

Algo así:

  • server_name ejemplo.com www.ejemplo.com;

Guarda los cambios y recarga el servicio:

  • sudo systemctl reload nginx

Paso 3: Obtener el certificado SSL

Aquí es donde ocurre la magia para instalar certificado SSL CentOS. Vamos a usar Certbot para pedir el certificado. Lo bueno de esta herramienta es que puede retocar la configuración de Nginx por ti para activar HTTPS, o dejarte los archivos para que lo hagas a mano. Para la mayoría, la automatización es lo mejor.

Lanza este comando (cambia los dominios por los tuyos, claro):

  • sudo certbot --nginx -d ejemplo.com -d www.ejemplo.com

Al darle a enter, pasará varias cosas:

  1. Certbot hablará con los servidores de Let’s Encrypt.
  2. Hará un desafío HTTP-01. Básicamente, deja un archivo temporal en una ruta oculta (.well-known/acme-challenge) para demostrar que controlas el servidor.
  3. Si todo sale bien, descarga el certificado.
  4. Te hará una pregunta clave: si quieres redirigir todo el tráfico HTTP a HTTPS. Elige la opción 2 (Redirect). Es la forma segura de forzar la conexión encriptada.

Consejo de experto: ¿Te dio error? Revisa tu DNS. A veces los cambios tardan en propagarse. Y asegúrate de que no tengas Apache escuchando en el puerto 80, eso también bloquea la validación.

Paso 4: Verificar la configuración SSL

Ya casi estás. Certbot suele recargar Nginx solo, pero yo siempre verifico manualmente. Por si acaso.

  1. Comprobar el estado de Nginx:
    sudo systemctl status nginx
    ¿Dice «active (running)»? Perfecto.
  2. Prueba en el navegador: Entra a https://ejemplo.com. Busca el candado en la barra de direcciones.
  3. Prueba con SSL Labs: Mete tu web en la herramienta de Qualys SSL Labs. Si configuraste bien los cifrados, deberías sacarte una A o una A+.

Por si alguna vez necesitas tocarlos a mano, los archivos viven en /etc/letsencrypt/live/ejemplo.com/. Ahí verás fullchain.pem (tu certificado) y privkey.pem (tu clave privada).

Renovación automática de certificados

Ojo con esto. Los certificados de Let’s Encrypt caducan a los 90 días. No es para siempre. Pero no te preocupes: Certbot instala un temporizador o un trabajo cron que se ejecuta un par de veces al día. Renueva todo lo que esté a punto de expirar (normalmente si faltan menos de 30 días).

Para dormir tranquilo, prueba si funciona el proceso de renovación sin tocar nada real:

  • sudo certbot renew --dry-run

Si ese comando termina sin errores, estás listo. El sistema se ocupará de solo. Si falla, revisa los logs, porque una web sin HTTPS actualizada es un problema de credibilidad.

Preguntas Frecuentes

¿Qué pasa si cambio mi nombre de dominio?

Tienes que volver a ejecutar Certbot con los nuevos dominios, usando el flag --expand. O simplemente pide un certificado nuevo y actualiza la configuración de Nginx para que apunte a esos nuevos archivos .pem.

¿Es compatible con subdominios?

Sin problema. Solo añade otro flag -d con el subdominio (por ejemplo, -d blog.ejemplo.com) cuando lo instales. Los certificados estándar aguantan varios nombres (SAN) en el mismo documento.

Conclusión

Implementar HTTPS no debería ser una odisea ni costar un riñón. Gracias a Let’s Encrypt y Certbot, asegurar tu servidor CentOS con Nginx es cuestión de minutos, no de días. Hemos visto todo: desde los repositorios y el firewall hasta la descarga y la comprobación del certificado. Tu tráfico ya viaja cifrado y tus usuarios están más seguros. Recuerda que la seguridad es un proceso continuo, y esa renovación automática es tu salvavidas para que no se te pase la fecha por despiste. Si te atasca algo más complejo o necesitas gestión de infraestructura, en RedServicio (redservicio.net) tenemos expertos listos para echarte una mano.