Si estás leyendo esto, probablemente acabas de encontrarte con uno de estos escenarios frustrantes por el proxy:

  • npm install lleva 10 minutos «cargando» y no pasa nada
  • git clone te arroja un críptico «Failed to connect to github.com port 443″
  • nvm install se niega rotundamente a descargar Node.js

La buena noticia: No es culpa tuya ni de tu computadora. Es el proxy corporativo o universitario haciendo de las suyas. Y hoy vas a aprender a domarlo de una vez por todas.

Esta guía te llevará paso a paso para configurarlo de manera correcta en NPM, Git y NVM (Node Version Manager). Iré directo al grano, con ejemplos reales y soluciones a los errores más comunes.

Si recién empiezas con estas herramientas, revisa nuestra guía de Git y GitHub básico para entender cómo funcionan.



🌐 Qué es un proxy y por qué bloquea tus herramientas de desarrollo

Imagina que quieres pedir una pizza 🍕, pero tu edificio tiene un portero que solo deja pasar pedidos si les das tu nombre y clave.

El proxy es ese portero: sin la info correcta, npm, Git y otros no pueden «traerte» nada de internet.

¿Por qué las empresas y universidades usan proxies?

  • Seguridad: Controlan qué sitios web pueden visitar los empleados o estudiantes
  • Monitoreo: Registran el tráfico de red para auditorías
  • Optimización: Cachean contenido frecuente para ahorrar ancho de banda

El problema es que herramientas como npm, Git y nvm necesitan acceso directo a Internet para funcionar. Sin la configuración correcta, estas herramientas simplemente «no saben» cómo atravesar ese portero digital.

Si no configuras el proxy Errores de conexión por doquier

Requisitos Previos: Qué Necesitas Antes de Configurar

Antes de empezar, asegúrate de tener a mano esta información (pregunta a tu equipo de IT si no la tienes):

  1. Dirección del servidor: Por ejemplo, proxy.empresa.com o 10.0.0.4
  2. Puerto: Generalmente 8080, 3128 o 80
  3. Usuario y contraseña (si requiere autenticación)
  4. Acceso a tu terminal o PowerShell con permisos básicos

💡 Tip: En Windows, puedes encontrar tu proxy en Configuración → Red e Internet → Proxy. En Linux/macOS, suele estar en las variables de entorno del sistema.

Configuración de proxy en Windows 11, mostrando la dirección y puerto

Configurar Proxy en npm (Node Package Manager)

Problema Común: Error de Timeout en npm

npm ERR! network timeout at: <https://registry.npmjs.org/react>
npm ERR! network This is a problem related to network connectivity

Este es el error más común cuando npm no lo puede atravesar. Aquí está la solución:

Solución Paso a Paso

Caso 1: Sin autenticación (típico en algunas universidades)

# Configura ambos protocolos (http y https)
npm config set proxy <http://proxy.uc.edu.ve:8080>
npm config set https-proxy <http://proxy.uc.edu.ve:8080>

Caso 2: Con usuario y contraseña (típico en empresas)

# Formato: <http://usuario:contraseña@servidor>:puerto
npm config set proxy <http://juan:Pass2023@proxy.techcorp.com:8080>
npm config set https-proxy <http://juan:Pass2023@proxy.techcorp.com:8080>

Verifica que Funcionó

# Deberías ver la URL que configuraste
npm config get proxy
npm config get https-proxy

# Prueba instalando un paquete pequeño
npm install lodash

⚠️ Atención: Caracteres Especiales en la Contraseña

Si tu contraseña contiene símbolos como @, # o %, necesitas codificarlos:

  • @%40
  • #%23
  • %%25

Ejemplo: Si tu contraseña es P@ss#123, escríbela como P%40ss%23123

Alternativa en Windows: Usa comillas dobles alrededor de toda la URL:

npm config set proxy "<http://juan:P@ss#123@proxy.techcorp.com:8080>"

Remover Configuración de Proxy

Cuando salgas de la red corporativa (ej: trabajando desde casa):

npm config rm proxy
npm config rm https-proxy

Configurar Proxy en Git

Problema Común: Error 443 en Git Clone

fatal: unable to access '<https://github.com/usuario/repo.git/>':
Failed to connect to github.com port 443: Timed out

Este error de proxy authentication required git aparece cuando Git no puede conectarse a GitHub, GitLab o cualquier repositorio remoto.

Solución: Configuración Global de Proxy

Para todos tus repositorios (recomendado):

# Sin autenticación
git config --global http.proxy <http://proxy.empresa.com:8080>
git config --global https.proxy <http://proxy.empresa.com:8080>

# Con usuario y contraseña
git config --global http.proxy <http://luis:GitPass2023@10.0.0.4:8080>
git config --global https.proxy <http://luis:GitPass2023@10.0.0.4:8080>

Configuración para un Solo Repositorio

Si trabajas con múltiples proxies (ej: diferentes clientes), puedes configurarlo por repositorio:

cd /ruta/al/proyecto
git config http.proxy <http://proxy.cliente-a.com:8080>

# Esto solo afecta a este repositorio específico

Verificar Configuración

# Ver todas las configuraciones de proxy
git config --global --get http.proxy
git config --global --get https.proxy

# Ver TODA la configuración de Git
git config --global --list

Remover Proxy de Git

# Configuración global
git config --global --unset http.proxy
git config --global --unset https.proxy

# Configuración local (dentro del repositorio)
git config --unset http.proxy
git config --unset https.proxy

💡 Tip Pro: Si usas SSH en lugar de HTTPS para Git, necesitas modificar tu archivo ~/.ssh/config. Esto es más avanzado, pero si te interesa, déjamelo en los comentarios y hago un tutorial dedicado.

Configurar Proxy en nvm (Node Version Manager)

Problema Común: nvm No Puede Descargar Node.js

Could not retrieve <https://nodejs.org/dist/v18.16.0/node-v18.16.0.tar.gz>
curl: (7) Failed to connect to nodejs.org port 443: Connection refused

nvm es diferente a npm y Git. En su lugar, usa las variables de entorno del sistema.

Solución en Linux y macOS

# Establece las variables temporalmente (solo para esta sesión)
export HTTP_PROXY=http://usuario:contraseña@proxy:puerto
export HTTPS_PROXY=http://usuario:contraseña@proxy:puerto

# Ejemplo real
export HTTP_PROXY=http://maria:S3gur@2023@proxy.empresa.com:8080
export HTTPS_PROXY=http://maria:S3gur@2023@proxy.empresa.com:8080

# Ahora instala Node.js
nvm install 18
nvm use 18

Hacer la Configuración Permanente

Para que no tengas que escribir esto cada vez que abras la terminal:

# Agrega estas líneas al final de ~/.bashrc (Linux) o ~/.zshrc (macOS)
echo 'export HTTP_PROXY=http://usuario:pass@proxy:8080' >> ~/.bashrc
echo 'export HTTPS_PROXY=http://usuario:pass@proxy:8080' >> ~/.bashrc

# Recarga la configuración
source ~/.bashrc

Solución en Windows (PowerShell)

# Variables temporales (solo para esta sesión)
$env:HTTP_PROXY = "<http://maria:S3gur@2023>@proxy.empresa.com:8080"
$env:HTTPS_PROXY = "<http://maria:S3gur@2023>@proxy.empresa.com:8080"

# Prueba instalando Node.js
nvm install 16.20.0
nvm use 16.20.0

Configuración Permanente en Windows

  1. Abre Panel de Control → Sistema → Configuración avanzada del sistema
  2. Haz clic en Variables de entorno
  3. En «Variables del sistema», haz clic en Nueva
  4. Agrega:
    • Nombre: HTTP_PROXY
    • Valor: http://usuario:pass@proxy:8080
  5. Repite para HTTPS_PROXY

Alternativa en la configuración del proxy de nvm

Primero, establece la configuración directamente en NVM:

nvm proxy <http://proxyUser:proxyPassword@domain>:port

Luego verificas la configuración

nvm proxy

Errores Comunes y Sus Soluciones

1. Error 407: Proxy Authentication Required

Causa: Tu usuario o contraseña están incorrectos, o faltan en la configuración.

Solución:

  • Verifica que no haya errores de escritura en tu usuario/contraseña
  • Codifica caracteres especiales (@%40)
  • Pregunta a IT si tu cuenta tiene permisos para acceso a Internet

2. Todo Funciona en la Oficina, Pero No en Casa

Causa: Olvidaste remover la configuración del proxy corporativo.

Solución rápida:

# Limpia npm
npm config rm proxy
npm config rm https-proxy

# Limpia Git
git config --global --unset http.proxy
git config --global --unset https.proxy

# En Windows, elimina las variables HTTP_PROXY y HTTPS_PROXY del sistema

3. npm Funciona, Pero Git Sigue Fallando (o Viceversa)

Causa: Configuraste solo una herramienta, pero no las demás.

Solución: Revisa la configuración de ambas:

# Verifica npm
npm config get proxy

# Verifica Git
git config --global --get http.proxy

4. Error: «SELF_SIGNED_CERT_IN_CHAIN» en npm

Causa: Tu proxy usa un certificado SSL autofirmado que npm no reconoce.

Solución temporal (NO recomendado para producción):

npm config set strict-ssl false

Solución permanente: Pide a IT el certificado raíz del proxy y agrégalo a tu sistema.

5. nvm Funciona Sin Proxy, Pero npm No

Causa: nvm descarga Node.js, pero npm (que viene con Node) necesita su propia configuración de proxy.

Solución: Después de instalar Node con nvm, configura npm por separado (ver sección de npm arriba).

Tabla Comparativa: npm vs Git vs nvm – Comandos de Proxy

HerramientaConfigurar ProxyVer ConfiguraciónRemover Proxy
npmnpm config set proxy http://proxy:8080npm config get proxynpm config rm proxy
Gitgit config --global http.proxy http://proxy:8080git config --global --get http.proxygit config --global --unset http.proxy
nvm (Linux/Mac)export HTTP_PROXY=http://proxy:8080echo $HTTP_PROXYunset HTTP_PROXY
nvm (Windows)$env:HTTP_PROXY="<http://proxy:8080>"$env:HTTP_PROXYRemove-Item Env:\\HTTP_PROXY

Conclusión: Tú vs. Proxy → ¡Tú Ganas! 🎉

Configurar un proxy corporativo puede parecer intimidante al principio, especialmente si es tu primera vez lidiando con la terminal. Pero como acabas de ver, con los comandos correctos y un poco de paciencia, es totalmente manejable (Sufrí un poco al inicio. Te puedo entender).

Recapitulación rápida:

  • npm: Usa npm config set proxy para establecer la configuración globalmente
  • Git: Configura con git config --global http.proxy para todos tus repos
  • nvm: Establece variables de entorno HTTP_PROXY y HTTPS_PROXY
  • Errores 407: Revisa tus credenciales y codifica caracteres especiales
  • Trabajando desde casa: No olvides remover la configuración del proxy

Ya seas un estudiante universitario aprendiendo a programar, un junior developer en tu primer trabajo corporativo, o un desarrollador experimentado cambiando de empresa, dominar estas configuraciones te ahorrará horas de frustración cada mes 🚀. Ya podrás ser feliz conectándote a internet

¿Te sirvió esta guía? Suscríbete al canal y recibe cada semana:

  • Tips de productividad para desarrolladores
  • Tutoriales de herramientas modernas (Manejo de la IA, uso de la terminal, desarrollo web)
  • Cheatsheets descargables (próximo: Git + npm)
  • Acceso anticipado a nuevos artículos

Y si te sirvió esta guía, compártela con ese compañero que lleva horas peleando con el proxy… (seguro le salvas el día 😉)


¿Qué tema te gustaría ver en el próximo post?

Debugging en Node.js como un pro.
Configurar SSH para Git sin contraseñas.
Otro.

(Escribelo en los comentarios 🗳️)


Avatar de darkusphantom

👉 Únete a mi Canal de WhatsApp para más recursos

👉 Sigueme en mis redes sociales para más contenido de programación y productividad



Avatar de darkusphantom

👉 Únete a mi Canal de WhatsApp para más recursos

👉 Sigueme en mis redes sociales para más contenido de programación y productividad


🚀 ¡Hackea tu productividad con IA!

Únete a mi comunidad de +100 artículos y descarga gratis mis 12 prompts maestros para reventar el semestre. Recibe tips de Frontend, Python y recursos que solo comparto por correo.

Prometo no llenar tu bandeja. Solo hacks útiles una vez al mes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *