Як вказати, що Yum не повинен використовувати проксі для конкретного домену


12

Чи можна вказати домен, для якого yum повинен обійти конфігурацію проксі? Боюся, це неможливо ...

Я читав , що можна було використовувати змінні середовища , HTTP_PROXYто NO_PROXY, це саме елегантне рішення?

[EDIT]

Я спробував рішення зі змінними середовища:

export HTTP_PROXY=http://user:pass@host:port
export http_proxy=http://user:pass@host:port
export no_proxy=.domain
export NO_PROXY=.domain

Yum використовує проксі, але repos * .domain не обходить стороною.

[РОБОТИ]

Використовуючи http://cntlm.sourceforge.net/, я можу налаштувати, який домен слід ігнорувати. Але це працює лише з проксі, для якого потрібна автентифікація NTLM ...

Відповіді:


26

Я не зміг змусити це працювати, використовуючи змінні середовища, як ви описуєте тут. Однак, Yum підтримує проксі, і ви повинні мати можливість робити щось подібне:

proxy=http://proxy:port

В yum.confі потім додавання

proxy=_none_

До визначення repo ви не хочете отримати доступ через глобальний проксі. Про це детально (хоч і лаконічно) йдеться на сторінці людини yum.conf.


Успішно, нарешті. Спасибі! Я не хочу повторювати всіх господарів там, де це робив. Але чи можна також додати проксі безпосередньо до цих файлів репо, де це потрібно (наприклад, всі репо-файли із зовнішніми серверами пакетів, на відміну від файлів репо, що використовують внутрішні менеджери пакунків, яким не потрібен проксі)
erikbwork

1
proxy=_none_Блискуче, дякую. Це судновий вантаж дивовижного соусу. Я би голосував за вас двічі, якщо зможу :)
Скотті H

@erikbwork Я щойно додав proxy=http://proxy:portсвій файл у файл .repo, і він працював. Це ви просите?
Scottie H

4

Якщо я правильно розумію це питання, бажана поведінка

пакети.centos.com отримують через проксі.

пакети.internal.lan переходять безпосередньо, не переходячи через проксі.

Я щойно приїхав сюди, поглянувши, як це зробити самостійно, і використав вищевказану інформацію, щоб досягти того, що я хотів, проте я не впевнений, чи є відповідь вище.

Для цього я використав наступне.

export HTTP_PROXY=http://myproxy.internal.lan:port

export no_proxy=internal.lan

yum install package1 package2

package1 витягнули з Інтернету через проксі,

package2 витягнули з мого місцевого дзеркала, не проходячи через проксі.


3

Моє рішення передбачає створення Privoxy, легкого проксі-http.

yum встановити privoxy

Додайте два передні пропозиції в / etc / privoxy / config:

 forward / myproxy.internal.lan:3128
 forward .internal.lan .

А також вимкніть дії за замовчуванням privoxy (переконайтеся, що жоден заголовок не пошкоджений): (@line 175 у конфігурації RHEL5 privoxy)

#actionsfile standard  # Internal purpose, recommended
#actionsfile default   # Main actions file
#actionsfile user      # User customizations

Потім встановіть змінну середовища http_proxy та ftp_proxy на порт privoxy:

оголосити -x http_proxy = http://127.0.0.1:8118

оголосити -x ftp_proxy = http://127.0.0.1:8118

yum встановити package1 package2

Примітка. Якщо у yum.conf у вас є проксі-рядки, видаліть це, це перезапустить змінну середовища.


Я шукав способи дозволити господарям з privoxy, і я отримав тут свою відповідь :)
ahmadali shafiee

2

Ви можете просто вказати його у файлі repo. Наприклад:

[hduser@n0 cloudera-manager-installer]$ cat /etc/yum.repos.d/cloudera-cdh4.repo  
[cloudera-cdh4]  
name=Cloudera's Distribution for Hadoop, Version 4  
baseurl=http://"yourhost"/cdh4/  
gpgcheck = 0
enabled=1
proxy=_none_

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.