Flujos de acceso¶
Dos caminos independientes: acceso público a servicios web y acceso administrativo por SSH.
Acceso público (Internet → servicios)¶
sequenceDiagram
participant U as Usuario
participant CF as Cloudflare
participant T as cloudflared
participant NPM as Nginx Proxy Manager
participant S as Servicio
U->>CF: HTTPS request
CF->>T: Túnel cifrado
T->>NPM: HTTP en hosting-network
NPM->>S: Proxy al contenedor destino
S-->>U: Respuesta
Pasos¶
- El usuario resuelve un dominio gestionado en Cloudflare DNS.
- Cloudflare enruta el tráfico al túnel configurado (
cloudflared). cloudflaredreenvía la petición a Nginx Proxy Manager (puertos 80/443).- NPM aplica la regla de proxy host y envía al contenedor correspondiente (Jenkins, Kashflow, etc.).
Sin puertos abiertos en el router
El túnel inicia conexiones salientes hacia Cloudflare. No hace falta port-forwarding en el router para servicios web.
Servicios típicamente publicados¶
| Servicio | Publicación | Notas |
|---|---|---|
| Jenkins | NPM + túnel | Webhook de GitHub vía dominio público |
| Kashflow | NPM + túnel | App desplegada en /workspace/kashflow |
| MkDocs | NPM + túnel (opcional) | También accesible en LAN :8000 |
Acceso administrativo (SSH)¶
sequenceDiagram
participant PC as PC admin
participant TS as Tailscale
participant H as khosting
PC->>TS: Conexión mesh VPN
TS->>H: SSH (puerto 22)
H-->>PC: Shell remoto
Pasos¶
- Instalar Tailscale en el PC y en
khosting. - Autenticar ambos nodos en la misma tailnet.
- Conectar por SSH usando la IP Tailscale o MagicDNS del host.
Tailscale no enruta tráfico web
Tailscale se usa exclusivamente para acceso SSH y administración del host. Los servicios web no pasan por Tailscale.
Acceso LAN (red local)¶
Servicios de gestión expuestos solo en la IP WiFi del host:
| Puerto | Servicio |
|---|---|
| 81 | NPM (admin) |
| 90 | FileBrowser |
| 8000 | MkDocs |
| 9000 | Portainer |
| 8200 | Duplicati |
| 61208 | Glances |
Bind address: 192.168.1.6 (interfaz WiFi).