La autenticación de proxy del navegador sin cabeza no es una ruta VPN
Una VPN dirige el navegador al proxy; no puede responder al 407 del proxy. Verifique la selección, el desafío y la ruta de red real del trabajo por separado.
Una VPN puede transportar el tráfico de un navegador a un servidor proxy y aun así dejar que el navegador no pueda usar ese proxy, porque una ruta y una credencial son cosas diferentes. La automatización sin cabeza hace que la brecha sea más difícil de ver, ya que no hay ventana ni aviso para notar. El fallo suele aparecer como un bloqueo o un error de navegación genérico, y el primer instinto es echarle la culpa al túnel. La siguiente lista de verificación separa las cuatro cosas que deben ser ciertas antes de que una solicitud sin cabeza a través de un proxy autenticado pueda tener éxito.
Dos conversaciones, dos credenciales
Suceden dos conversaciones y pertenecen a diferentes partes. El navegador primero se conecta al escucha proxy, que puede solicitarle credenciales; el proxy luego realiza o permite la conexión posterior al destino. Una VPN puede realizar el primer tramo sin ser el punto final que desafíe al navegador, y no tiene nada que decir sobre el segundo.
HTTP 407 es la señal de que el cliente debe autenticarse para la solicitud de proxy, transportada en Proxy-Authenticate con la respuesta esperada en Proxy-Authorization. Ese no es el inicio de sesión del sitio web de destino, y mezclar los dos es la fuente de confusión más común aquí.
Entonces, las cuatro comprobaciones son: qué proxy seleccionó realmente el navegador, quién responde al 407, en qué red se encuentra el proceso del navegador y cómo se entrega la credencial sin un humano. Cada uno puede fallar de forma independiente y cada falla parece similar desde fuera. Trabájelos en orden, porque un cheque posterior no puede compensar uno anterior. Un proxy que nunca se seleccionó no se puede autenticar y una credencial que solo existe en su computadora portátil no puede llegar a un contenedor.
Verifique 1: qué proxy está realmente seleccionado
Comience con la selección, porque un navegador que ignora la configuración de su proxy nunca alcanza el desafío. En Chrome, la bandera es --proxy-server=proxy.example:3128, con --proxy-bypass-list para exclusiones, y Selenium expone lo mismo a través de las opciones de su navegador. Un archivo PAC es un mecanismo diferente con sus propios modos de falla.
Luego confirme desde el entorno del navegador en ejecución en lugar de desde su shell. Una sonda independiente con el mismo proxy es curl -x http://proxy.example:3128 -v https://example.com y su salida detallada muestra si CONNECT se realizó correctamente, qué devolvió Proxy-Authenticate y si se devolvió un 407. Si curl obtiene un 407 y el navegador se bloquea, el problema es la ruta de la credencial y no la red. Si curl tiene éxito y el navegador no, el navegador no está utilizando el proxy que usted cree.
Consulta 2: quién contesta el 407
Un 407 tiene un propietario y nombrarlo decide dónde va la solución. Si el desafío proviene del proxy corporativo, la solución es una credencial que el navegador puede presentar sin supervisión. Si proviene de un proxy ascendente al que reenvía el primero, la credencial pertenece a ese segundo salto y el primer proxy puede estar transmitiendo el desafío sin cambios. Lea el alcance de la autenticación y el host en el encabezado Proxy-Authenticate, porque nombran el cuadro que pregunta.
Conserve esa distinción en todo lo que registre. Un desafío de proxy, una conexión rechazada, un inicio de sesión en un sitio web y un tiempo de espera de transporte VPN son cuatro fallas diferentes con cuatro propietarios diferentes, y un mensaje de error genérico destruye la información que necesita.
Verifique 3: la ruta de la credencial
La credencial en sí es donde fallan la mayoría de las configuraciones desatendidas. Selenium puede configurar un host y un puerto de proxy, pero la autenticación de proxy HTTP no es una parte portátil de esa configuración, y las credenciales en la URL del proxy no son un mecanismo en el que pueda confiar en todos los navegadores y versiones de controladores. Las opciones admitidas son las que documenta su pila real: una extensión de navegador que responde al desafío, un proxy de reenvío local que agrega el encabezado y al que solo se puede acceder desde el trabajo, o un proxy que autentica la carga de trabajo por otros medios. Elija uno deliberadamente y compruébelo con el navegador exacto, el controlador y las versiones de Selenium que ejecutará.
Mantenga la credencial fuera de los lugares que la filtren. Las líneas de comando son visibles en las listas de procesos, las capturas de pantalla terminan en informes de prueba, los rastros del navegador y los encabezados de captura de archivos HAR, y la configuración de prueba confirmada es para siempre. Utilice el mecanismo de entrega secreta del trabajo y sus reglas de redacción, y ajuste la cuenta de proxy a los destinos o la función que necesita.
Si la organización ofrece una ruta VPN directa permitida en lugar de un proxy obligatorio, compare los dos diseños explícitamente. No desactive silenciosamente el proxy ni imite la autenticación de otro cliente para eludir la política.
Marque 4: el contexto de red propio del proceso del navegador
Este es el cheque que la gente se salta. Un navegador iniciado por un trabajador, un contenedor o un nodo remoto de Selenium Grid utiliza la red de ese entorno, por lo que la conexión VPN de su computadora portátil y las variables proxy de su shell describen una ruta que el navegador nunca podrá tocar.
Registre cinco datos para el trabajo fallido: el host del navegador, el proxy configurado, la ruta de resolución inicial, la ruta seleccionada y el propietario de la autenticación. Luego, realice una solicitud autorizada inofensiva desde ese contexto exacto, dejando activadas la verificación TLS de destino normal y la autorización de la aplicación. Un navegador sin cabeza que se inicia correctamente no prueba ni la admisión de proxy ni la cobertura de VPN, y una captura de pantalla de una página en blanco no prueba nada en absoluto. La solicitud que devuelve 200 a lo largo de toda la cadena es la única evidencia que cuenta.
El flujo de trabajo terminado tiene tres propiedades que vale la pena comprobar en conjunto. Hay una ruta admitida desde el host del navegador al proxy, una política intermediaria explícita que nombra el proxy y los destinos, y un ciclo de vida de las credenciales que no depende de que un operador responda a un mensaje invisible. Si alguno de los tres depende de una persona, el trabajo aún no está desatendido, diga lo que diga el código de salida. Escriba los cinco hechos antes de que la siguiente persona herede el oleoducto.