Sur une machine serveur 12.04, j'ai configuré Apt pour qu'il utilise un proxy pour récupérer ses paquets. A savoir, dans /etc/apt.conf.d/80proxy
J'ai les deux lignes suivantes :
Acquire::http::Proxy "http://user:password@proxybox:8443/";
Acquire::https::Proxy "http://user:password@proxybox:8443/";
Cependant, lorsque l'on essaie de faire une apt-get update
je reçois un message HTTP 407 (authentification du proxy requise).
Un examen plus approfondi du journal de la machine mandataire et un vidage TCP indiquent que le nom d'utilisateur et le mot de passe configurés dans l'URL sont les suivants non transmis . Le nom d'utilisateur et le mot de passe ne parviennent jamais à la machine proxy.
Dépannage :
-
J'ai vérifié que cette machine peut accéder au proxy en faisant un curl :
http_proxy='http://user:password@proxybox:8443/' curl google.com
-
J'ai vérifié que mon mot de passe ne contient pas de caractères spéciaux.
-
J'ai vérifié qu'il n'y a pas d'autres paramètres de proxy sur la machine.
-
grep -ri proxy /etc/profile*
ne renvoie rien -
grep -ri proxy /etc/apt/*
ne renvoie rien d'autre que le fichier ci-dessus -
env | grep -i proxy
ne renvoie rien
-
Voici à quoi ressemble le tcpdump d'une tentative avec curl :
CONNECT apt.dockerproject.org:443 HTTP/1.1
Host: apt.dockerproject.org:443
Proxy-Authorization: Basic (redacted)
User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Proxy-Connection: Keep-Alive
Et une tentative avec apt-get :
CONNECT apt.dockerproject.org:443 HTTP/1.1
Host: apt.dockerproject.org:443
User-Agent: Debian APT-CURL/1.0 (0.8.16~exp12ubuntu10.24)
Proxy-Connection: Keep-Alive
Cache-Control: max-age=0
Notez l'absence de l'en-tête Proxy-Authorization.
Comment faire pour qu'apt respecte les paramètres utilisateur/mot de passe que j'ai définis dans le fichier de configuration ?