Saltar al contenido
Todas las notas
DevOps· 1 min

Desplegar un sistema web en una red institucional restringida

Firewalls, DNS cerrados, hardware limitado y cero acceso a internet desde el servidor: así se entrega software en entornos institucionales reales.


En muchas instituciones públicas y empresas grandes no puedes instalar lo que quieras ni abrir puertos a tu gusto. El 'entorno restringido' es el cliente más común de quien administra servidores. Aquí va el flujo que uso para que un sistema Next.js o PHP salga a producción sin pelearme con la red.

1. Inventaria la red antes de tocar nada

Pregunta primero: ¿hay salida a internet? ¿DNS interno? ¿puertos abiertos? ¿proxy corporativo? Instala una herramienta de diagnóstico y deja documentado el mapa.

  • »Salida a internet: directa, con proxy o nula
  • »Resolución DNS: externa, interna o manual (hosts)
  • »Puertos permitidos para el tráfico entrante
  • »Software disponible: repos locales o instalación offline

2. Prepara el despliegue offline

Si no hay internet en el servidor, compila y empaqueta en tu máquina: paquetes .deb/.rpm, imágenes Docker, o un build estático de Next.js con las variables resueltas en build time.

npm run build
cp -r .next build server.js /tmp/dist/
# transfiere por USB o por la red interna

Variables en build time

Cuando no hay red para llamar APIs externas, decide qué se cachea y qué se sincroniza por lotes. Un fetch al BCV cada hora no funciona si el servidor no sale a internet.

Un sistema que no se cae en el servidor donde corre vale más que uno lleno de dependencias que jamás se podrán instalar ahí.