==================================================================
   GESTION WEB - Caddy paso a paso (una URL por empresa + HTTPS)
==================================================================

QUE ES CADDY
------------
Es un "recepcionista" (reverse proxy) que se pone delante de tus apps:
escucha en los puertos web 80 y 443, y segun el NOMBRE con que entran
reenvia a la empresa interna que corresponda (127.0.0.1:8001, :8002, ...).
Ademas saca y renueva los certificados HTTPS solo (candado), gratis.

IMPORTANTE (limitacion):
  - Cada empresa debe ir en la RAIZ de un subdominio
    (ej. empresa1.allen.cl), NO en una carpeta (allenltda.ddns.net/empresa1),
    porque la app usa rutas absolutas (/api, /sw.js).
  - Por eso: una URL por empresa = un SUBDOMINIO por empresa.
    Tu dominio allen.cl sirve para esto (puedes crear subdominios).


==================================================================
PARTE A - PROBAR CADDY EN LOCAL (5 min, sin dominio, sin riesgo)
==================================================================
Solo para comprobar que el reverse proxy funciona.

1) Descarga Caddy (un solo archivo .exe):
     https://caddyserver.com/download
     (Plataforma: Windows / amd64 -> boton "Download")
   Guarda el archivo como  caddy.exe  en una carpeta, por ejemplo:
     C:\caddy\

2) En esa carpeta crea un archivo llamado EXACTAMENTE  Caddyfile
   (sin extension .txt) con este contenido:

     :8080 {
         reverse_proxy 127.0.0.1:8001
     }

   (Asegurate de tener corriendo la empresa 1 en el puerto 8001.)

3) Abre una ventana de CMD en esa carpeta y ejecuta:
     caddy run

4) En el navegador entra a:
     http://localhost:8080
   Debe aparecer la EMPRESA 1. Si la ves, Caddy esta redirigiendo bien.

5) Para detenerlo: en la ventana de CMD presiona Ctrl + C.

   (Esto es solo prueba: no da HTTPS ni sirve para internet.)


==================================================================
PARTE B - PRODUCCION CON allen.cl (HTTPS automatico)
==================================================================
Resultado: entras con  https://empresa1.allen.cl ,  https://empresa2.allen.cl ...
sin puertos y con candado.

REQUISITOS
  - Que el dominio allen.cl sea tuyo (lo es) y puedas editar su DNS.
  - Reenviar en el router los puertos 80 y 443 hacia el servidor.
  - Las empresas corriendo en 8001, 8002, ... (servicios ya instalados).

PASO 1 - DNS (en el panel de tu proveedor de allen.cl)
  Crea un subdominio por empresa apuntando a tu IP publica.
  Dos formas:
   a) Registro A:    empresa1.allen.cl  ->  TU.IP.PUBLICA
   b) Registro CNAME: empresa1.allen.cl ->  allenltda.ddns.net
  Repite: empresa2.allen.cl, empresa3.allen.cl, ...
  (Si tu IP cambia, el CNAME al DDNS es mas comodo.)

PASO 2 - Router (port forwarding)
  Reenvia al SERVIDOR (la PC donde corre todo):
     Puerto 80  TCP  -> IP-interna-del-servidor : 80
     Puerto 443 TCP  -> IP-interna-del-servidor : 443
  (Los 8001.. ya no hace falta exponerlos a internet; Caddy entra por 80/443.)

PASO 3 - Firewall de Windows
  Permitir entrada TCP 80 y 443 en el servidor.

PASO 4 - Caddyfile (junto a caddy.exe)
  Contenido (ajusta nombres/puertos a tus empresas):

     empresa1.allen.cl { reverse_proxy 127.0.0.1:8001 }
     empresa2.allen.cl { reverse_proxy 127.0.0.1:8002 }
     empresa3.allen.cl { reverse_proxy 127.0.0.1:8003 }

PASO 5 - Probar
  En CMD (en la carpeta de caddy):
     caddy run
  La primera vez Caddy contacta a Let's Encrypt y saca los certificados
  (tarda unos segundos). Luego entra a:
     https://empresa1.allen.cl
  Debe verse con candado y mostrar la empresa 1.

PASO 6 - Dejarlo corriendo siempre (servicio)
  Opcion simple: en lugar de "caddy run" usa:
     caddy start      (queda corriendo en segundo plano)
     caddy stop       (para detenerlo)
  Para que arranque con Windows, crea un acceso directo a
     caddy.exe start
  en la carpeta de Inicio (Win+R -> shell:startup), o instala Caddy
  como servicio con NSSM (igual que la app).


==================================================================
SI NO QUIERES TOCAR EL DNS DE allen.cl (alternativa simple)
==================================================================
Sigue como hoy, multi-empresa POR PUERTO (sin HTTPS):
   allenltda.ddns.net:8001  -> empresa 1
   allenltda.ddns.net:8002  -> empresa 2
   ...
Solo agrega el port forwarding de 8002, 8003... en el router.
Es lo mas rapido; el unico costo es que se ven los puertos y no hay candado.


==================================================================
PROBLEMAS FRECUENTES
==================================================================
- "No saca el certificado / timeout":
    Tu ISP puede BLOQUEAR el puerto 80 o 443 (comun en conexiones
    residenciales). Sin el puerto 80 abierto, Let's Encrypt no puede
    validar el dominio. Verifica con tu proveedor o prueba abrir 80/443.
- "Entra pero sin candado / advertencia":
    El subdominio no resuelve a tu IP todavia (espera propagacion DNS,
    puede tardar minutos/horas) o el 80/443 no llega al servidor.
- "Caddy dice puerto en uso":
    Hay otro servidor web (IIS, etc.) ocupando el 80/443. Detenlo.
- Ver el detalle de lo que hace Caddy: mira los mensajes en la ventana
  donde ejecutaste "caddy run".
==================================================================
