Блокировка прокси apt-get, разрешение wget / curl

У меня проблема с передачей моего корпоративного прокси-сервера. Мне сделали исключение, чтобы пропустить мой IP-адрес, но я не смог заставить apt-get работать.

wget могут попасть в репозитории Ubuntu без проблем.

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#

Я настроил свои настройки прокси 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 все еще терпит неудачу с ошибкой 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 заменяет полное доменное имя моего прокси-сервера

5
задан 24 January 2014 в 13:50

2 ответа

Проблема с сообщенным пользовательским агентом . Вот почему прокси работает с wget, а не с apt-get.

Я запустил tcpdump -Ai eth0 port 8080, чтобы посмотреть, как выглядел http, и получил сообщение «не утвержденный пользовательский агент» от нашего корпоративного прокси.

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

В Ubuntu Manpage был раздел, объясняющий этот параметр конфигурации.

Acquire :: http :: User-Agent может использоваться для установки другого User-Agent для метода загрузки http, поскольку некоторые прокси-серверы разрешают доступ для клиентов, только если клиент использует известный идентификатор.

apt-get 307 error при условии необходимого синтаксиса, вы просто добавляете приведенный ниже синтаксис в /etc/apt/apt.conf.d/30proxy (или что бы вы ни выбрали).

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

Теперь обновления apt-get проходят безупречно.

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
0
ответ дан 24 January 2014 в 13:50
  • 1
    Flash 11 для Linux все еще получает обновления системы защиты, но проблема здесь состоит в том, что Adobe в целом имеет ужасный послужной список фактического создания упомянутых обновлений во-первых. – Michael Hampton 15 July 2015 в 00:51

Да, чувак, вы были правы с самого начала (кажется, я понял вашу проблему). Насколько я понимаю, ваша проблема в том, как wget работает с прокси-серверами, отличается от apt-get. Как насчет того, чтобы удалить 3 строки Acquire::http::proxy "http://<PROXY>:8080"; из этого каталога /etc/apt/apt.conf.d/30proxy или, возможно, удалить файл 30proxy и попробовать обновить из терминала, используя только один прокси-адрес, как в root@server:/tmp# http_proxy=http://<PROXY>:8080 apt-get updateor root@server:/tmp# http_proxy=http://<PROXY>:8080 | apt-get update. Я полагаю, что это как-то связано с конфигурацией proxy и apt-get , и я понятия не имею, как это сделать. Я просто пытаюсь тебе помочь.

У вас все еще есть возможность wget ссылки обновлений, затем извлекать их и устанавливать их.

0
ответ дан 24 January 2014 в 13:50

Другие вопросы по тегам:

Похожие вопросы: