Cómo solucionar el error 407 Proxy Authentication Required
Actualizado:
Un error 407 es mejor noticia de lo que parece: tu dispositivo se conectó con el proxy y la ruta de red está abierta. El proxy solo indica que no recibió un usuario y contraseña válidos. Por eso, casi todos los errores 407 se resuelven en las credenciales, no en tu router ni en tu firewall.
Causas del error 407, de más a menos probables
- Usuario o contraseña incorrectos o ausentes. Un carácter mal escrito o un espacio final copiado junto con la contraseña. Esto explica la mayoría de los casos de 407.
- Campos pegados en las casillas equivocadas. La línea completa
ip:port:user:passtermina en la casilla Host, o el usuario en la de la contraseña. Algunas herramientas separan los cuatro campos automáticamente; otras no. - La aplicación nunca envía las credenciales. La configuración de proxy del sistema operativo solo guarda la dirección y el puerto. Las aplicaciones que no pueden solicitar una contraseña se conectan sin el encabezado de autenticación y reciben un 407.
- Caracteres especiales en la URL del proxy. En el formato
http://user:pass@host:port, los caracteres como@,:o#en la contraseña deben codificarse con porcentaje (@pasa a ser%40); de lo contrario, la cadena se divide en el lugar equivocado.
Cómo se ve realmente un error 407
Reprodujimos el error en un proxy de prueba, mostrado aquí con la dirección de documentación 203.0.113.10:8080 y unas credenciales deliberadamente incorrectas user123:pass456. Al probar contra un sitio HTTPS, curl -x http://user123:[email protected]:8080 https://example.com devuelve curl: (56) CONNECT tunnel failed, response 407. Contra un sitio HTTP normal con -w %{http_code}, curl imprime únicamente 407.
Añade -v para comprobar si se enviaron las credenciales. La traza muestra > CONNECT example.com:443 HTTP/1.1, luego > Proxy-Authorization: Basic ... y solo después el 407. Si falta la línea Proxy-Authorization, tu cliente nunca envió los datos de acceso.
El proxy checker de VinaProxy reporta este mismo caso como auth failed (407). Chrome en modo headless, al no tener cuadro de diálogo de inicio de sesión, lo muestra como ERR_TUNNEL_CONNECTION_FAILED; consulta la página del error de túnel.
Soluciones según el entorno
- Windows y Chrome: Chrome utiliza la configuración de proxy de Windows (Configuración > Red e Internet > Proxy), que solo admite dirección y puerto. Al cargar la primera página, Chrome abre un cuadro de diálogo para ingresar el usuario y la contraseña del proxy. Si los escribiste mal y la ventana no vuelve a aparecer, cierra todas las ventanas de Chrome y vuelve a abrirlo.
- Navegadores antidetect (AdsPower, GoLogin, GenLogin): mantén Host, Port, Username y Password en campos separados. Borra el campo de contraseña por completo y pégalo de nuevo en lugar de editarlo. Encontrarás ayuda campo por campo en la guía de configuración de GoLogin.
- Teléfonos móviles: iPhone tiene un interruptor de Autenticación en Ajustes > Wi-Fi > (i) > Configurar proxy; si lo dejas desactivado, se produce un 407. Android suele admitir únicamente host y puerto, por lo que las aplicaciones que requieren autenticación pueden mostrar un error genérico de conexión en su lugar.
- curl: pasa
-U "user:pass"por separado en lugar de incluirlo dentro de la URL, lo que evita problemas con caracteres especiales. - Python requests: define
http://user:pass@host:portpara las claveshttpyhttpsdel diccionarioproxies, y codifica las contraseñas complejas conurllib.parse.quote.
Las credenciales son correctas pero el error 407 persiste
A continuación, verifica los protocolos. VinaProxy ofrece proxies HTTP(S) con autenticación user:pass y también SOCKS5, así que selecciona el protocolo que aparece en tu pedido en el panel de control. Si el verificador responde not socks5, ese puerto utiliza HTTP y no debe configurarse como SOCKS5.
Paso a paso
- 1
Copia la línea del proxy desde el panel de control
Abre el pedido en tu panel de control de VinaProxy y copia la línea completa en lugar de escribirla manualmente.
- 2
Pásala por el verificador de proxies
Pégala en el proxy checker. El resultado
auth failed (407)confirma que se trata de un problema de credenciales y no de red. - 3
Vuelve a introducir el usuario y la contraseña sin espacios
Limpia ambos campos en tu aplicación y pégalos de nuevo sin espacios al principio ni al final.
- 4
Haz coincidir el protocolo con el de tu pedido
Configura el tipo de proxy como HTTP o SOCKS5 exactamente como se indica en el pedido y guarda los cambios.
- 5
Rastrea la conexión con curl -v si el error persiste
Ejecuta
curl -vcon tus valores reales y verifica que aparezca la líneaProxy-Authorizationantes del 407.
Preguntas frecuentes
¿El error 407 se debe a que mi proveedor de internet bloquea el proxy?
No. El 407 lo envía el propio proxy, por lo que la conexión se completó. Un bloqueo en la red suele mostrarse como tiempo de espera agotado o conexión rechazada; consulta tiempo de espera del proxy.
¿Por qué Chrome sigue pidiendo los datos de acceso al proxy una y otra vez?
Cada intento incorrecto genera otro 407 y Chrome vuelve a solicitar las credenciales. Comprueba el bloqueo de mayúsculas y asegúrate de que ningún método de entrada agregue tildes o acentos a la contraseña.
¿Cómo incluyo una contraseña con @ en la URL de un proxy?
Codifícala: @ como %40, : como %3A y # como %23. En curl, el parámetro -U evita la codificación por completo.
¿Selenium o Puppeteer muestran un error de túnel en lugar del 407? ¿Es el mismo problema?
Por lo general, sí. Headless Chrome no puede mostrar un cuadro de diálogo de inicio de sesión, por lo que el 407 se manifiesta como ERR_TUNNEL_CONNECTION_FAILED. Proporciona las credenciales mediante el mecanismo de autenticación de la biblioteca, tal como se explica en la guía de Selenium.
Proxies privados con credenciales claras
Cada pedido de VinaProxy incluye una línea ip:port:user:pass lista para copiar una vez y pegar donde quieras.
Ver precios de proxies