Saltar al contenido

Cómo gestionar certificados SSL automáticos: Let's Encrypt y Traefik

6 min de lectura Infraestructura
  • ssl
  • letsencrypt
  • traefik
  • docker
  • infraestructura
  • seguridad

Cuando montas una infraestructura web, la seguridad no es opcional. Un certificado SSL automático es un estándar, no un extra. No hablamos solo de cifrar el tráfico entre cliente y servidor, sino de la confianza que tu sitio proyecta. Sin HTTPS, los navegadores marcan tu web como “no segura” y eso ahuyenta a cualquier visitante.

Mi enfoque es automatizar todo lo posible en el despliegue de servicios. Aquí es donde entran en juego Let’s Encrypt y Traefik. Esta combinación permite tener certificados válidos y renovados sin intervención manual, de forma robusta y escalable, integrándose a la perfección con entornos Docker.

La necesidad de certificados SSL automáticos

Gestionar certificados SSL manualmente es un dolor que nadie debería tener en 2026. Olvídate de comprar certificados cada año, de generar CSRs y de instalarlos a mano en cada servicio. Ese proceso consume un tiempo valioso y es propenso a errores humanos. Un certificado caducado no solo deja tu web vulnerable, sino que también ahuyenta a los usuarios y daña tu reputación. Si quieres una visión más amplia de cómo proteger tu web frente a ataques, el SSL es solo una de las capas necesarias.

La diferencia entre una configuración moderna y una anticuada no es el coste del certificado — Let’s Encrypt es gratis. La diferencia es el tiempo que ahorras y la seguridad constante que ganas. A veces, la lentitud o los problemas de una web no son por el certificado, sino porque el hosting es el cuello de botella y ninguna optimización del código lo va a resolver.

Let’s Encrypt: SSL gratuito y estandarizado

Let’s Encrypt es una autoridad de certificación (CA) que emite certificados SSL/TLS gratuitos. Su misión es hacer que el uso de HTTPS sea la norma para todos los sitios web. Utiliza el protocolo ACME (Automated Certificate Management Environment) para verificar la posesión del dominio y emitir o renovar los certificados de forma programática. Esto lo hace ideal para la automatización total.

No hay costes ocultos ni letras pequeñas en Let’s Encrypt. Es un servicio respaldado por grandes nombres de la industria tecnológica, diseñado para hacer HTTPS el estándar. La implementación es sencilla una vez que se entiende el flujo.

Traefik como orquestador de certificados

Traefik es un reverse proxy y load balancer que se integra de forma nativa con Docker y Kubernetes. Detecta automáticamente los servicios desplegados y se configura en tiempo real. Esto incluye la gestión de certificados con Let’s Encrypt a través del protocolo ACME.

Cuando un cliente me llega con una infraestructura compleja, la primera pregunta es siempre cómo gestiona los certificados. Si la respuesta es “a mano” o “con un script”, sé que hay trabajo por hacer para modernizar el sistema. Traefik simplifica esa gestión a unas pocas líneas de configuración, convirtiéndose en el punto central para todas las comunicaciones seguras.

Configuración básica de Traefik con Let’s Encrypt

Para que Traefik gestione certificados SSL automáticos con Let’s Encrypt, necesitas definir un certificatesresolvers en tu configuración. Este resolver se encarga de comunicarse con los servidores ACME de Let’s Encrypt y de almacenar los certificados emitidos. Un almacenamiento persistente es necesario, como un volumen Docker, para que los certificados sobrevivan a los reinicios del contenedor de Traefik.

Aquí tienes un ejemplo básico en docker-compose.yml para desplegar Traefik, usando el resolver le y un volumen local para almacenar los certificados:

version: '3.8'

services:
  traefik:
    image: traefik:v2.10
    command:
      - --api.dashboard=true # Habilita el dashboard de Traefik
      - --providers.docker
      - --entrypoints.web.address=:80
      - --entrypoints.websecure.address=:443
      - [email protected]
      - --certificatesresolvers.le.acme.storage=/letsencrypt/acme.json
      - --certificatesresolvers.le.acme.caserver=https://acme-v02.api.letsencrypt.org/directory
      - --certificatesresolvers.le.acme.tlschallenge=true
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./letsencrypt:/letsencrypt # Volumen para persistir certificados
    labels:
      # Reglas para acceder al dashboard de Traefik
      - "traefik.enable=true"
      - "traefik.http.routers.traefik-dashboard.rule=Host(`traefik.midominio.com`)"
      - "traefik.http.routers.traefik-dashboard.service=api@internal"
      - "traefik.http.routers.traefik-dashboard.entrypoints=websecure"
      - "traefik.http.routers.traefik-dashboard.tls.certresolver=le"
      - "traefik.http.routers.traefik-dashboard.middlewares=auth-dashboard" # Autenticación básica
      - "traefik.http.middlewares.auth-dashboard.basicauth.users=admin:$$apr1$$HASH_DE_TU_PASSWORD" # Generar con htpasswd

  # Ejemplo de servicio web que usa Traefik y Let's Encrypt
  mi-aplicacion:
    image: containous/whoami:v1.9 # Un servicio simple de ejemplo
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.mi-app.rule=Host(`mi-app.midominio.com`)"
      - "traefik.http.routers.mi-app.entrypoints=websecure"
      - "traefik.http.routers.mi-app.tls.certresolver=le"
      - "traefik.http.services.mi-app.loadbalancer.server.port=80"

En este ejemplo, [email protected] es tu email para avisos de Let’s Encrypt y midominio.com debe ser reemplazado por tu dominio real. El volumen ./letsencrypt asegura que los certificados se guarden y no se pierdan al reiniciar Traefik.

Consideraciones de implementación de Traefik con Let’s Encrypt

La implementación de Traefik con Let’s Encrypt es una decisión estratégica con claras ventajas y algunas consideraciones importantes. Es mi elección por defecto para nuevas infraestructuras basadas en Docker, especialmente para clientes con múltiples servicios.

Lo que ganas:

  • Automatización completa: Los certificados se emiten y renuevan sin ninguna intervención manual, eliminando errores y caducidades inesperadas.
  • Seguridad por defecto: HTTPS en todos tus servicios web sin esfuerzo extra de configuración, mejorando la confianza y el SEO.
  • Coste cero: Let’s Encrypt es gratuito, eliminando un gasto recurrente importante en licencias de certificados.
  • Integración nativa: Traefik detecta tus servicios Docker y configura el enrutamiento y SSL automáticamente, simplificando despliegues complejos.

Lo que complicas:

  • Curva de aprendizaje inicial: Traefik tiene su propia sintaxis de configuración basada en etiquetas Docker y conceptos como entrypoints y resolvers.
  • Depuración: Si la configuración no es correcta, puede ser complejo diagnosticar por qué un certificado no se emite o por qué el enrutamiento falla.
  • Persistencia y backups: Necesitas asegurar que el volumen de Let’s Encrypt (acme.json) tenga backups fiables y esté bien gestionado, ya que contiene tus certificados.

Lo que no negocias: La seguridad de tus comunicaciones y la validez de los certificados. Un sitio sin HTTPS no es viable; es una barrera para cualquier negocio serio.

Adoptar un sistema como Traefik con Let’s Encrypt simplifica la gestión de tu infraestructura web. Si usas Docker para desplegar tus aplicaciones, es una forma eficiente de asegurar tus servicios.

Para entender el contexto completo de esta infraestructura, lee por qué uso Docker y Traefik donde explico la stack completa. Si estás empezando con Docker, te recomiendo Docker Compose para principiantes.

El SSL es solo una capa de la seguridad. Para una visión completa, lee mi guía para proteger tu web de ataques. Y si detectas que tu certificado ha caducado, es una de las señales de que tu web necesita mantenimiento.

La seguridad es un componente clave al considerar cuánto cuesta tener una web profesional en España. Un certificado SSL automático no solo mejora la confianza, sino que también es parte de la inversión en una web profesional y competitiva.

Si necesitas ayuda para implementar esta infraestructura o gestionar certificados SSL automáticos, puedo ayudarte. Consulta los servicios de gestión técnica o escríbeme directamente.

Lucas Juárez
Lucas Juárez

Técnico freelance especializado en desarrollo a medida, automatizaciones con IA y gestión técnica para negocios en España. Más sobre mí →

Compartir:

¿Necesitas que alguien se ocupe de tu web?

Me encargo de que tu web funcione, esté segura y actualizada. Backups, actualizaciones y soporte directo. Planes desde 49 €/mes.

Chat