Files
dtic-DIIAA/docs/proy/P2606_WebServer-NGINX/P2606.01_Plan-WebServer-NGINX.md
T
Ricardo Monla 160da47f96 [P2606] WebServer NGINX: plan actualizado, ficha nodo, HTTPS operativo
- P2606: Plan v1.1 EN EJECUCIÓN. Fases 1-3 completadas.
- Ficha nodo srvv-nginx-rm.md. P2606 en adn/07_proyectos.md.
- Incluye cambios acumulados de sesiones anteriores.
2026-03-28 12:18:42 -03:00

3.7 KiB

Plan: Servidor Web NGINX en LXC con IP Pública

Código: P2606.01
Fecha: 28 de marzo de 2026
Autor: Sistema ADN
Versión: 1.1
Estado: 🚧 EN EJECUCIÓN

📋 Resumen Ejecutivo

Desplegar un servidor web NGINX en contenedor LXC (Debian 12) sobre srv-pmox3, con IP pública asignada por redes UTN para exposición directa de servicios web.

📌 Prerequisitos

  • IP pública: 190.114.205.17 — verificada libre y asignada al LXC.
  • Bridge: vmbr0 en srv-pmox3 soporta red pública y privada (capa 2 compartida).
  • Firewall UTN: puertos 80 y 443 abiertos — confirmado vía acceso HTTP/HTTPS público.
  • Nombre del nodo: srvv-nginx-rm.

🚀 Plan de Ejecución

FASE 1: Preparación e investigación (completada 2026-03-28)

  • 1.1: IP pública: 190.114.205.17/24, gw 190.114.205.1. Verificada libre.
  • 1.2: Red compartida capa 2 — vmbr0 sirve tanto red pública como privada.
  • 1.3: Template debian-12-standard_12.7-1_amd64.tar.zst disponible.
  • 1.4: Hostname: srvv-nginx-rm. IP privada: 10.0.10.117/23. Host: srv-pmox3.

FASE 2: Creación del contenedor LXC (completada 2026-03-28)

  • 2.1: LXC 116 creado en srv-pmox3 (2 cores, 2 GB RAM, 20 GB disco, Debian 12, unprivileged).
  • 2.2: Red configurada: eth0=190.114.205.17/24 (pública), eth1=10.0.10.117/23 (privada).
  • 2.3: Hostname srvv-nginx-rm, DNS 8.8.8.8, timezone America/Argentina/La_Rioja.
  • 2.4: Sistema actualizado (apt upgrade — 91 paquetes).
  • 2.5: OpenSSH en puerto 7022 .
  • 2.6: Configurar Tailscale VPN (acceso remoto de gestión). Pendiente.

FASE 3: Instalación y configuración NGINX (completada 2026-03-28)

  • 3.1: NGINX 1.22.1 instalado . Puerto 80 escuchando. Acceso público HTTP 200 verificado.
  • 3.1b: DNS DuckDNS: rmonla.duckdns.org190.114.205.17 . ⚠️ DuckDNS no soporta wildcard (*.rmonla.duckdns.org). Subdominios requieren dominio propio o alternativa.
  • 3.2: Sitio /vcby configurado . Repo ricardomonla/assjdm-ViaCrusis clonado en /var/www/vcby. PHP 8.2-FPM instalado. NGINX alias + fastcgi configurado. http://rmonla.duckdns.org/vcby/ → HTTP 200.
  • 3.3: HTTPS con Let's Encrypt . Certbot 2.1.0, cert rmonla.duckdns.org (expira 2026-06-26), redirect HTTP→HTTPS, renovación automática.
  • 3.4: Hardening: headers de seguridad, server tokens, rate limiting.
  • 3.5: Configurar logs (access.log, error.log con rotación).

FASE 4: Seguridad y monitoreo

  • 4.1: Configurar firewall local (ufw/nftables): solo puertos 80, 443, SSH.
  • 4.2: Instalar fail2ban.
  • 4.3: Configurar backup automático (vzdump en Proxmox).
  • 4.4: Agregar al sistema de monitoreo existente.

🚧 FASE 5: Validación y documentación (en progreso 2026-03-28)

  • 5.1: Test acceso web público: HTTP 200 y HTTPS https://rmonla.duckdns.org/vcby/ → 200 .
  • 5.2: Test de rendimiento básico.
  • 5.3: Ficha de nodo creada: nodos/srvv-nginx-rm.md .
  • 5.4: Documentar en bitácora y marcar proyecto como operativo.

📝 Notas

  • LXC 116 en srv-pmox3 (10.0.10.203). Autostart habilitado (onboot: 1).
  • Clave root: Guardada en candados (srvv-nginx-rm:root) .
  • Acceso SSH: ssh -p 7022 root@10.0.10.117 o root@190.114.205.17.
  • Acceso Proxmox: pct exec 116 -- bash desde srv-pmox3.
  • DNS: rmonla.duckdns.org190.114.205.17 (DuckDNS, no soporta wildcard).
  • App desplegada: /vcby → repo ricardomonla/assjdm-ViaCrusis (deploy key SSH).
  • Referencia: srvv-sitio en srv-pmox1 con IP 190.114.205.20.