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

Sigueme en mis redes sociales para más contenido



Avatar de darkusphantom

Sigueme en mis redes sociales para más contenido


darkusphantom Programación , , , , ,

Deja una respuesta

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