HTTPS en Tomcat 8070 usando Traefik como proxy reverso
Si quieres asegurar tu Tomcat que corre en el puerto 8070 en Windows con HTTPS, la forma más sencilla y estable es usar Traefik en Docker como proxy reverso con certificados gratuitos de Let's Encrypt.
💡 Una opción gratuita para tu dominio es DuckDNS. Por ejemplo, puedes usar midominio.duckdns.org
en lugar de un dominio pago. Asegúrate de que tu subdominio apunte a tu IP pública.
Paso 1: Instalar Docker Desktop
Descarga Docker Desktop para Windows desde docker.com y activa WSL2 si Windows lo requiere.
Paso 2: Crear la carpeta del proyecto
Ejemplo:
C:\docker\traefik-proxy
Dentro, crea:
- Archivo
docker-compose.yml
- Carpeta
letsencrypt
para certificados
Paso 3: Configurar docker-compose
Copia esto en docker-compose.yml
:
version: "3" services: traefik: image: traefik:v2.14 command: - "--api.insecure=true" - "--providers.docker=true" - "--entrypoints.web.address=:80" - "--entrypoints.websecure.address=:443" - "--certificatesresolvers.le.acme.tlschallenge=true" - "--certificatesresolvers.le.acme.email=tu-email@ejemplo.com" - "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json" ports: - "80:80" - "443:443" volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" - "./letsencrypt:/letsencrypt" labels: - "traefik.http.routers.tomcat.rule=Host(`midominio.com`)" - "traefik.http.routers.tomcat.entrypoints=websecure" - "traefik.http.routers.tomcat.tls.certresolver=le" - "traefik.http.services.tomcat.loadbalancer.server.scheme=http" - "traefik.http.services.tomcat.loadbalancer.server.url=http://host.docker.internal:8070"
Recuerda cambiar midominio.com
o tu subdominio de DuckDNS por tu dominio real y tu-email@ejemplo.com
por tu correo.
Paso 4: Abrir los puertos 80 y 443
Para que Traefik pueda obtener el certificado de Let's Encrypt y servir HTTPS, los puertos 80 (HTTP) y 443 (HTTPS) deben estar abiertos hacia tu PC:
- Verifica que tu firewall de Windows permita conexiones entrantes en esos puertos.
- En tu router, configura redirección (port forwarding) de los puertos 80 y 443 hacia la IP de tu PC.
Para comprobar si están abiertos, puedes usar sitios como YouGetSignal Open Ports o CanYouSeeMe e ingresar tu IP pública y los puertos 80 y 443.
Paso 5: Levantar Traefik
En la carpeta del proyecto ejecuta:
docker-compose up -d
Paso 6: Verificar HTTPS
Accede a tu dominio con HTTPS:
https://midominio.com
Traefik redirigirá automáticamente el tráfico seguro a tu Tomcat en el puerto 8070.
Paso 7: Renovación automática
Los certificados de Let's Encrypt se renuevan automáticamente con Traefik. No necesitas hacer nada más.
¡Listo! Tu Tomcat 8070 ahora tiene HTTPS de forma estable usando Traefik como proxy reverso.
Comentarios
Publicar un comentario