Pourquoi Chrome redemande le nom d'utilisateur et le mot de passe du proxy
Sommaire

- Que signifie la boîte de connexion au proxy ?
- Pourquoi Chrome redemande-t-il le mot de passe du proxy ?
- Pourquoi le mot de passe des réglages de proxy est-il ignoré ?
- Comment une extension peut-elle répondre à votre place ?
- Chrome peut-il utiliser un proxy SOCKS5 avec mot de passe ?
- Et ensuite ?
- Réponses rapides
En bref : Chrome affiche sa boîte de connexion au proxy quand un proxy répond avec le statut 407, Proxy Authentication Required. Chrome ne prend aucun identifiant dans ses réglages de proxy ni dans ses options de lancement : vous les saisissez dans la boîte de dialogue, ou une extension les fournit. Une boîte qui revient après la connexion signifie le plus souvent que le proxy a refusé ce que vous avez envoyé. Un proxy SOCKS5 qui demande un mot de passe ne peut pas fonctionner dans Chrome, qui n’implémente aucune authentification SOCKS5.
Chrome redemande le nom d’utilisateur et le mot de passe du proxy quand le proxy exige une connexion à laquelle Chrome n’a pas d’autre moyen de répondre. Quatre situations sont à l’origine du problème, et trois d’entre elles se règlent dans Chrome. La quatrième, un proxy SOCKS5 avec mot de passe, demande un changement du côté du proxy ou un autre navigateur.
Que signifie la boîte de connexion au proxy ?
Le proxy a refusé de transmettre votre requête tant que vous ne vous êtes pas connecté. En termes HTTP, il a répondu avec le statut 407, Proxy Authentication Required, que la RFC 9110 décrit comme signifiant que « le client doit s’authentifier pour utiliser un proxy pour cette requête ». Le proxy indique les méthodes de connexion qu’il accepte, et le navigateur peut répéter la requête avec des identifiants.
Chrome les recueille dans une boîte de dialogue intitulée « Sign in » (se
connecter). Son texte, dans les
chaînes des boîtes de dialogue de Chromium,
est « The proxy $1 requires a username and password. » (le proxy $1 requiert un
nom d’utilisateur et un mot de passe), avec l’adresse du proxy à la place de
$1. Pour les proxys HTTP, Chrome prend en charge les méthodes Basic, Digest,
Negotiate et NTLM, listées dans les
notes de Chromium sur les proxys.
Pourquoi Chrome redemande-t-il le mot de passe du proxy ?
Le plus souvent, le proxy a refusé les identifiants et répondu par un nouveau 407, donc Chrome redemande. Un mauvais mot de passe, un nom d’utilisateur copié avec une espace à la fin ou un compte suspendu par le fournisseur se présentent de la même façon du côté du navigateur.
La boîte revient aussi quand le mot de passe se trouve à un endroit que Chrome ne lit pas, comme les réglages de proxy, et quand une extension qui l’enregistre n’a pas reçu l’autorisation de répondre. Un proxy SOCKS5 avec mot de passe se comporte autrement : Chrome n’affiche aucune boîte pour lui, et la connexion échoue. Le tableau « Trouvez votre cas » reprend les quatre situations avec ce qu’il faut faire pour chacune.
Pourquoi le mot de passe des réglages de proxy est-il ignoré ?
Chrome ne lit pas les identifiants écrits dans les réglages de proxy. Beaucoup
de systèmes permettent d’y saisir un nom d’utilisateur et un mot de passe, ou de
les écrire dans l’adresse sous la forme user:password@host:port, et les
notes de Chromium sur les proxys
sont explicites : « Chrome n’implémente pas cela et n’utilisera aucun
identifiant intégré aux réglages de proxy. » L’authentification passe par le
parcours de connexion habituel, et pour la plupart des gens, ce parcours est la
boîte de dialogue.
Un proxy défini avec l’option de lancement --proxy-server est une façon de
plus de saisir des réglages manuels, donc un mot de passe écrit dans l’option
n’a pas d’effet non plus.
Comment une extension peut-elle répondre à votre place ?
Chrome permet à une extension de répondre à la demande de connexion d’un proxy
avant que la boîte de dialogue n’apparaisse. L’API webRequest
déclenche un événement onAuthRequired dont l’indicateur isProxy vaut true
quand c’est un proxy qui demande, et une extension dotée de l’autorisation
webRequestAuthProvider peut répondre avec le nom d’utilisateur et le mot de
passe.
Notre ProxyJam Connector, gratuit, utilise cet événement. Vous enregistrez un nom d’utilisateur et un mot de passe dans chaque profil de proxy, et l’extension répond pour le proxy enregistré dont l’hôte et le port correspondent à ceux du proxy qui demande.
- Dans Chrome, elle répond dès que vous accordez l’accès réseau sur sa page Settings (paramètres) ; jusque-là, la boîte du navigateur apparaît comme d’habitude.
- Quand le proxy refuse deux fois les identifiants pour la même requête, Connector arrête de réessayer et son badge dans la barre d’outils affiche AUTH.
- Elle répond pour les proxys HTTP et HTTPS. Un profil SOCKS5 avec nom d’utilisateur et mot de passe reçoit un avertissement, puisque Chrome ne peut pas les utiliser.
Chrome peut-il utiliser un proxy SOCKS5 avec mot de passe ?
Non. Les notes de Chromium sur les proxys indiquent qu’« aucune méthode d’authentification n’est prise en charge pour SOCKSv5 dans Chrome (même si le protocole en prévoit certaines) », et aucune pour SOCKS4. Le client SOCKS5 de Chrome ne propose au proxy que la méthode sans identifiants, donc un proxy qui exige un mot de passe refuse la connexion. L’API des extensions n’a aucun événement pour une connexion SOCKS auquel une extension pourrait répondre.
Ce qui fonctionne :
- Faites enregistrer votre adresse par le fournisseur. Certains fournisseurs de proxys peuvent admettre les connexions venant d’une liste d’adresses IP que vous leur donnez, sans mot de passe.
- Utilisez le point d’accès HTTP du fournisseur. Si le même proxy accepte aussi les connexions HTTP, Chrome peut s’y connecter via la boîte de dialogue ou une extension.
- Utilisez Firefox pour ce proxy. L’API des extensions de Firefox transmet un nom d’utilisateur et un mot de passe pour les proxys SOCKS (référence ProxyInfo de MDN). La version Firefox de Connector s’en sert, et elle s’installe depuis Firefox Add-ons.
Et ensuite ?
Si vous passez d’un proxy à mot de passe à un autre, une extension qui enregistre les identifiants de chacun répond pour eux en HTTP et en HTTPS, et la page de l’extension liste ce que fait Connector dans Chrome. Pour n’envoyer que certains sites par un tel proxy, consultez n’envoyer que certains sites par un proxy. Les règles d’extension qui ont changé pour tous les sélecteurs sont décrites dans ce que Manifest V3 a changé pour les extensions de proxy.
Si vous choisissez des proxys pour Connector, lisez ce qu’est un proxy ISP : ProxyJam vend des proxys résidentiels statiques (ISP) sur la page des proxys ISP, avec les prix sur la page des tarifs.
