Ir al contenido principal

Cómo poner HTTPS en Tomcat usando Docker en Windows

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

Entradas populares de este blog

Instalación y Configuración de MySQL 5.7 en Ubuntu 24.04 LTS

Instalar MySQL 5.7 en Ubuntu 24.04 1. Descargar e instalar MySQL Copiar mkdir ~/mysql57 cd ~/mysql57 wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz sudo mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql 2. Instalar dependencias necesarias IMPORTANTE: Se descargan las versiones nuevas de las librerías y se las vincula con las librerías que necesita MySQL. Copiar sudo apt update # Reemplazo de libaio sudo apt install libaio1t64 # Reemplazo de libtinfo y ncurses sudo apt install libtinfo6 libncurses6 Copiar # Crear los enlaces simbólicos sudo ln -sf /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/libaio.so.1 sudo ln -sf /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5 sudo ln -sf /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64...

Instalar DeepSeek R1 1.5B en Ubuntu 24.04 sin GPU

Instalar DeepSeek en tu sistema sin GPU, pasos: Especificaciones del Entorno de Pruebas Componente Detalle SO Ubuntu Cinnamon 24.04 LTS x86_64 Kernel 6.8.0-51-generic CPU Intel i7-6820HQ (8 núcleos) @ 3.600GHz GPUs AMD ATI Radeon HD 8830M / R7 250 / R7 M465X Intel HD Graphics 530 RAM 15.882 GB (3.716 GB en uso) Resolución 1440x810 Escritorio Cinnamon 6.0.4 1. Instalar Git LFS sudo apt-get install git-lfs git lfs install 2. Clonar el repositorio cd /opt sudo mkdir deepseek && sudo chown $USER:$USER deepseek cd deepseek git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B 3. Crear y activar un entorno virtual python -m ve...

Instalar Jasper Studio 6.21 para Ubuntu 24.04

Instalar js-studiocomm_6.21.3 en Ubuntu 24.4 Para instalar Jaspersoft Studio en Ubuntu 24.4, sigue estos pasos: 1. Descargar Jasper Studio Descarga la versión js-studiocomm_6.21.3 desde el siguiente enlace: Jaspersoft Studio 6.21.3 2. Crear el directorio de instalación mkdir /opt/jasperstudio 3. Mover el archivo descargado mv /dir_descarga/js-studiocomm_6.21.3_linux_x86_64.tgz /opt/jasperstudio/ cd /opt/jasperstudio 4. Extraer el archivo tar -xvzf js-studiocomm_6.21.3_linux_x86_64.tgz cd js-studiocomm_6.21.3 5. Ejecutar Jaspersoft Studio ./Jaspersoft\ Studio 6. Crear acceso directo en el escritorio Para facilitar el acceso, crea un archivo .desktop en el escritorio: gedit ~/Escritorio/jaspersoft-studio.desktop En el archivo jaspersoft-studio.desktop , agrega lo siguiente: [Desktop Entry] Version=1.0 Ty...