HTTPQUERY
Español

407 Proxy Authentication Required

Uso

Cuando llega un error 407 Proxy Authentication Required, el cliente entiende que hacen falta credenciales de acceso válidas antes de poder llegar al recurso solicitado a través del proxy. Es similar a la respuesta 401 Unauthorized, y el cliente utiliza los mismos protocolos de autenticación.

El servidor devuelve la cabecera Proxy-Authenticate para indicar los métodos permitidos.

Impacto en SEO

Los motores de búsqueda como Google no indexan una URL que devuelve el estado 407 Proxy Authentication Required. Las URL indexadas previamente que pasan a devolver este código de estado se eliminan de los resultados de búsqueda.

Ejemplo

El cliente solicita un recurso y el servidor responde con 407 Proxy Authentication Required para indicar que el recurso está protegido detrás de un proxy. El servidor indica que admite la autorización basic. El cliente responde con un par username:password mediante el protocolo de autenticación basic, especificado en la cabecera Proxy-Authorization. A continuación, el servidor transmite el recurso solicitado.

Solicitud inicial

GET /documents/tech-news HTTP/1.1
Host: example.com

Respuesta inicial

HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: Basic realm="Documents"

Siguiente solicitud

GET /documents/tech-news HTTP/1.1
Host: example.com
Proxy-Authorization: Basic RXhhbXBsZTphaQ==

Respuesta final

HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Length: 25000

<PDF document included in message body>

Cómo solucionarlo

Un 407 Proxy Authentication Required significa que el servidor proxy exige credenciales válidas antes de reenviar la solicitud.

Revise la cabecera Proxy-Authenticate de la respuesta. Esta cabecera especifica el esquema de autenticación requerido (Basic, Digest, NTLM, Negotiate). Haga coincidir la configuración del cliente con el método esperado. Inspeccione la cabecera con las DevTools del navegador o con curl -v a través del proxy.

Configure las credenciales del proxy en el cliente. Establezca el nombre de usuario y la contraseña del proxy en los ajustes de proxy del navegador, en la configuración de la aplicación o en variables de entorno. Para las herramientas de línea de comandos, incruste las credenciales en la URL del proxy:

export HTTP_PROXY=http://user:pass@proxy:8080
export HTTPS_PROXY=http://user:pass@proxy:8080

En los clientes HTTP programáticos, incluya las credenciales en la cabecera Proxy-Authorization.

Verifique el nombre de usuario y la contraseña del proxy. Un par de credenciales incorrecto o caducado provoca este error. Confirme los valores con el administrador de red. Los proxies NTLM y Kerberos requieren credenciales unidas al dominio. Verifique que se incluya el prefijo de dominio (por ejemplo, DOMAIN\username).

Compruebe si hay interceptación por un proxy transparente. Algunas redes corporativas enrutan todo el tráfico a través de un proxy transparente sin configuración explícita en el cliente. Una conexión VPN o un cambio en la política de red introduce una autenticación de proxy donde antes no existía. Revise los ajustes de proxy del sistema (Windows: Opciones de Internet; macOS: Configuración del Sistema > Red > Proxies; Linux: /etc/environment o los ajustes de proxy del escritorio).

Borre las credenciales de proxy almacenadas en caché. Los navegadores y los sistemas operativos almacenan en caché los tokens de autenticación del proxy. Unas credenciales obsoletas en caché provocan respuestas 407 repetidas tras un cambio de contraseña. Borre la caché de credenciales (Administrador de credenciales en Windows, Acceso a Llaveros en macOS).

Verifique que el proxy permite el dominio de destino. Algunos servidores proxy restringen el acceso a dominios o categorías de URL aprobados. El proxy devuelve 407 para forzar una nueva autenticación incluso cuando las credenciales son válidas, si la política bloquea el destino. Consulte la lista de permitidos del proxy con el administrador de red.

Contacte con el administrador de red para obtener acceso al proxy. Los proxies corporativos o institucionales requieren el aprovisionamiento de una cuenta. Solicite las credenciales de acceso, confirme la dirección y el puerto del proxy y verifique el esquema de autenticación en uso.

Referencias de código

.NET

HttpStatusCode.ProxyAuthenticationRequired

Rust

http::StatusCode::PROXY_AUTHENTICATION_REQUIRED

Rails

:proxy_authentication_required

Go

http.StatusProxyAuthRequired

Symfony

Response::HTTP_PROXY_AUTHENTICATION_REQUIRED

Python3.5+

http.HTTPStatus.PROXY_AUTHENTICATION_REQUIRED

Java

java.net.HttpURLConnection.HTTP_PROXY_AUTH

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_PROXY_AUTHENTICATION_REQUIRED

Angular

@angular/common/http/HttpStatusCode.ProxyAuthenticationRequired