- VM Linux dedicada a partir de una plantilla de Ubuntu Server
- Nginx como proxy inverso
- Certificados Let's Encrypt gestionados por Certbot
- Firewall local activo
- Fail2ban activo y validado para la administración SSH
- Redirección HTTP → HTTPS y renovación de certificado probadas
- Respuestas progresivas y conexiones WebSocket validadas
- Reinicio de VM200 validado sin pérdida de configuración
| Servicio | Estado público |
|---|---|
| OpenWebUI · VM210 | 🟢 publicado y validado por HTTPS |
| n8n · VM300 | 🟢 publicado y validado por HTTPS |
| Nextcloud · VM205 | 🟢 publicado y validado por HTTPS |
| otros servicios internos | ⚪ no publicados / diferidos |
1. Navigateur Internet
↓ demande gpt.stephanemuraro.fr
2. DNS public
↓ renvoie l'adresse Internet de la connexion
3. Routeur
↓ transfère uniquement le trafic Web vers VM200
4. VM200 / Nginx
↓ choisit le virtual host correspondant au nom
5. VM210 / OpenWebUI
↓ produit la réponse applicative
6. VM200 / Nginx
↓ renvoie la réponse dans la session HTTPS
7. NavigateurEl DNS solo asocia el nombre público con la dirección de Internet — no sabe qué VM aloja la aplicación. El router tampoco elige el servicio: entrega las conexiones Web a VM200. Es Nginx quien realiza el enrutamiento a nivel de aplicación: el nombre solicitado durante la negociación TLS y en la solicitud HTTP selecciona un bloque de configuración (virtual host) que designa la máquina y el servicio internos de destino.
gpt.stephanemuraro.fr ─┐
n8n.stephanemuraro.fr ─┼─> même adresse publique ─> VM200
nextcloud.stephanemuraro.fr ─┘ ├─> VM IA
├─> VM automatisation
└─> VM fichiers| Componente | Responsabilidad | Límite |
|---|---|---|
| DNS público | asociar un nombre a la dirección de Internet | no elige la VM interna |
| Router | reenviar el tráfico Web a VM200 | no entiende las aplicaciones |
| Firewall de VM200 | rechazar entradas no previstas | no sustituye la autenticación |
| Nginx | terminar HTTPS, seleccionar el virtual host, reenviar | no almacena datos de negocio |
| Certbot | obtener/renovar los certificados Let's Encrypt | no publica una aplicación por sí solo |
| Fail2ban | bloquear ciertos ataques repetitivos detectados en los logs | no sustituye ni al firewall ni a contraseñas robustas |
| Backend | proporcionar la aplicación, controlar sus usuarios | no debe exponerse directamente |
El cifrado público termina en VM200. El certificado y su clave privada permanecen centralizados en el proxy inverso, lo que evita gestionar un certificado público distinto en cada backend.
Client Internet ═════ HTTPS chiffré ═════> VM200 VM200 ───── flux LAN contrôlé ──> backend
Nginx transmite al backend el nombre solicitado, el protocolo externo y la información necesaria para la trazabilidad. Para aplicaciones interactivas, admite WebSockets, respuestas progresivas y tiempos de espera adaptados a procesos largos.
- el router solo envía a VM200 el tráfico Web necesario
- el firewall local rechaza las demás conexiones entrantes
- la administración se limita a la red interna
- Nginx solo reenvía los nombres y servicios configurados
- TLS cifra y autentica la conexión pública
- Fail2ban reduce ciertos intentos repetitivos observables
- cada backend conserva su propia autenticación y filtrado
- las bases de datos y APIs técnicas permanecen ausentes de la WAN
Fail2ban está validado para SSH; esto no protege automáticamente los formularios de inicio de sesión de las aplicaciones — cada protección requiere un log explotable y un filtro probado.
- validar el servicio en la red local
- identificar sus necesidades de HTTPS, WebSocket, tamaño de solicitud y tiempos de espera
- definir su nombre público y su modelo de autenticación
- configurar la aplicación para su origen público
- crear un virtual host independiente en VM200
- validar la sintaxis de Nginx antes de recargar
- obtener y probar el certificado
- probar desde una red realmente externa
- revisar los logs y la ausencia de exposición directa
- documentar el plan de reversión
- desactivar únicamente el virtual host de un servicio;
- retirar temporalmente el reenvío Web hacia VM200;
- detener VM200 para neutralizar todas las publicaciones sin modificar las aplicaciones internas.
La prueba formal de la reversión global mediante la retirada del reenvío WAN sigue siendo el último control abierto de la primera fase.
- Diseño de un proxy inverso compartido
- DNS, NAT, SNI, virtual hosts y cabeceras de proxy
- Automatización del ciclo de vida de los certificados
- Soporte de WebSockets y streaming
- Segmentación entre la frontera de Internet y los backends
- Defensa en profundidad y estrategia de reversión
- Publicación de un servicio alojado en otra máquina