web-dev-qa-db-fra.com

Proxy Blocking apt-get, Autoriser wget / curl

Je rencontre un problème avec mon serveur proxy d'entreprise. Une exception a été mise en place pour permettre le passage de mon adresse IP, mais je n'ai pas réussi à faire fonctionner apt-get.

wget peut accéder au dépôt Ubuntu sans problème.

root@server:/tmp# http_proxy=http://<PROXY>:8080 wget http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/multiverse/binary-i386/Packages.bz2
--2014-01-24 09:17:38--  http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/multiverse/binary-i386/Packages.bz2
Resolving <PROXY> (<PROXY>)... x.x.x.25, x.x.x.24
Connecting to <PROXY> (<PROXY>)|x.x.x.25|:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: 5178 (5.1K) [application/x-bzip2]
Saving to: `Packages.bz2'

100%[========================================>] 5,178       --.-K/s   in 0.001s

2014-01-24 09:17:38 (7.78 MB/s) - `Packages.bz2' saved [5178/5178]

root@server:/tmp# ll -h
total 16K
drwxrwxrwt  2 root root 4.0K Jan 24 09:17 ./
drwxr-xr-x 23 root root 4.0K Jan 16 14:14 ../
-rw-r--r--  1 root root 5.1K Jan 24 09:05 Packages.bz2
root@server:/tmp#

Je configure mes configurations de proxy apt-conf.d.

root@server:/tmp# cat /etc/apt/apt.conf.d/30proxy
Acquire::http::proxy "http://<PROXY>:8080";
Acquire::ftp::proxy "ftp://<PROXY>:8080";
Acquire::https::proxy "https://<PROXY>:8080";
root@server:/tmp#

apt-get échoue toujours avec une erreur 403 Forbidden.

root@server:/tmp# apt-get update
Ign http://us.archive.ubuntu.com precise Release.gpg
<...snipped excess...>
Ign http://us.archive.ubuntu.com precise-backports/universe TranslationIndex
Err http://security.ubuntu.com precise-security/main Sources
  403  Forbidden [IP: x.x.x.25 8080]
<...snipped excess...>
Err http://security.ubuntu.com precise-security/multiverse i386 Packages
  403  Forbidden [IP: x.x.x.25 8080]
W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise/main/source/Sources  403  Forbidden [IP: x.x.x.24 8080]
<...snipped excess...>
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/multiverse/binary-i386/Packages  403  Forbidden [IP: x.x.x.25 8080]
E: Some index files failed to download. They have been ignored, or old ones used instead.
root@server:/tmp#

PROXY remplace le nom de domaine complet de mon serveur proxy

5
Ryan Foley

Le problème concerne l'agent utilisateur signalé . C'est pourquoi le proxy a travaillé avec wget et non avec apt-get.

J'ai exécuté tcpdump -Ai eth0 port 8080 pour voir à quoi ressemblait le http et j'ai reçu un message "Agent utilisateur non approuvé" de notre proxy d'entreprise.

<...snip...>
 <h1>ACCESS DENIED</h1>
 <p>The software you are accessing the internet with is not reporting an 
    approved "User-Agent"</p>
<...snip...>

Le buntu Manpage avait une section qui explique ce paramètre de configuration.

Acquire :: http :: User-Agent peut être utilisé pour définir un agent utilisateur différent pour la méthode de téléchargement http, car certains mandataires autorisent l'accès aux clients uniquement si le client utilise un identificateur connu.

erreur apt-get 307 fourni la syntaxe nécessaire, vous ajoutez simplement la syntaxe ci-dessous à /etc/apt/apt.conf.d/30proxy (ou à votre choix).

Acquire::http::User-Agent "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)";

Maintenant, les mises à jour d'apt-get sont parfaitement exécutées.

root@server:/etc/apt/apt.conf.d# apt-get update
Hit http://security.ubuntu.com precise-security Release.gpg
Hit http://us.archive.ubuntu.com precise Release.gpg
<...snip...>
Hit http://us.archive.ubuntu.com precise-backports/multiverse Translation-en
Hit http://us.archive.ubuntu.com precise-backports/restricted Translation-en
Hit http://us.archive.ubuntu.com precise-backports/universe Translation-en
Reading package lists... Done
4
Ryan Foley