HTTPQUERY
Français

407 Proxy Authentication Required

Utilisation

Lorsqu’une erreur 407 Proxy Authentication Required arrive, le client comprend que des identifiants de connexion valides sont nécessaires avant d’accéder à la ressource demandée à travers le proxy. Cette situation est semblable à la réponse 401 Unauthorized, et le client utilise les mêmes protocoles d’authentification.

L’en-tête Proxy-Authenticate est renvoyé par le serveur pour indiquer les méthodes autorisées.

Impact SEO

Les moteurs de recherche comme Google n’indexent pas une URL qui renvoie un statut 407 Proxy Authentication Required. Les URL précédemment indexées qui renvoient ce code de statut sont retirées des résultats de recherche.

Exemple

Le client demande une ressource et le serveur répond 407 Proxy Authentication Required pour indiquer que la ressource est protégée derrière un proxy. Le serveur signale la prise en charge de l’autorisation basic. Le client répond avec un couple nom d’utilisateur:mot de passe selon le protocole d’authentification basic, précisé dans l’en-tête Proxy-Authorization. Le serveur transmet alors la ressource demandée.

Requête initiale

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

Réponse initiale

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

Requête suivante

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

Réponse finale

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

<PDF document included in message body>

Comment corriger

Un 407 Proxy Authentication Required signifie que le serveur proxy exige des identifiants valides avant de relayer la requête.

Examinez l’en-tête Proxy-Authenticate dans la réponse. Cet en-tête précise le schéma d’authentification requis (Basic, Digest, NTLM, Negotiate). Alignez la configuration du client sur la méthode attendue. Inspectez l’en-tête avec les DevTools du navigateur ou avec curl -v à travers le proxy.

Configurez les identifiants de proxy dans le client. Renseignez le nom d’utilisateur et le mot de passe du proxy dans les paramètres de proxy du navigateur, dans la configuration de l’application ou dans des variables d’environnement. Pour les outils en ligne de commande, intégrez les identifiants dans l’URL du proxy :

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

Incluez les identifiants dans l’en-tête Proxy-Authorization pour les clients HTTP programmatiques.

Vérifiez le nom d’utilisateur et le mot de passe du proxy. Un couple d’identifiants incorrect ou expiré déclenche cette erreur. Confirmez les valeurs auprès de l’administrateur réseau. Les proxys NTLM et Kerberos exigent des identifiants joints au domaine. Vérifiez que le préfixe de domaine (par exemple DOMAIN\username) est bien inclus.

Recherchez une interception par proxy transparent. Certains réseaux d’entreprise acheminent tout le trafic via un proxy transparent sans configuration explicite du client. Une connexion VPN ou un changement de politique réseau introduit une authentification de proxy là où il n’y en avait pas auparavant. Vérifiez les paramètres de proxy du système (Windows : Internet Options, macOS : System Settings > Network > Proxies, Linux : /etc/environment ou paramètres de proxy du bureau).

Videz les identifiants de proxy mis en cache. Les navigateurs et les systèmes d’exploitation mettent en cache les jetons d’authentification de proxy. Des identifiants obsolètes en cache provoquent des réponses 407 répétées après un changement de mot de passe. Videz le cache d’identifiants (Credential Manager sous Windows, Keychain Access sous macOS).

Vérifiez que le proxy autorise le domaine cible. Certains serveurs proxy restreignent l’accès à des domaines ou catégories d’URL approuvés. Le proxy renvoie 407 pour forcer une nouvelle authentification, même lorsque les identifiants sont valides, si la destination est bloquée par la politique en vigueur. Vérifiez la liste d’autorisation du proxy avec l’administrateur réseau.

Contactez l’administrateur réseau pour obtenir l’accès au proxy. Les proxys d’entreprise ou d’établissement exigent la création d’un compte. Demandez des identifiants d’accès, confirmez l’adresse et le port du proxy, et vérifiez le schéma d’authentification utilisé.

Références de code

.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