如何指定百胜不应为特定域使用代理


12

是否可以指定哪个yum绕过代理配置的域?恐怕这是不可能的...

我看,这是可能的使用环境变量HTTP_PROXY那么NO_PROXY,是不是最优雅的解决方案?

[编辑]

我尝试了使用环境变量的解决方案:

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使用代理,但是不会绕过仓库* .domain。

[WORKAROUND]

使用http://cntlm.sourceforge.net/,我可以配置应忽略的域。但这仅适用于需要NTLM身份验证的代理...

Answers:


26

如您在此处所述,我无法使用环境变量来使其正常工作。但是,Yum确实支持代理服务器,因此您应该可以执行以下操作:

proxy=http://proxy:port

放入yum.conf然后添加

proxy=_none_

不想通过全局代理访问的回购定义。yum.conf手册页中对此进行了详细介绍(虽然很简洁)。


终于成功了。谢谢!我不想再遍历所有主机。但是也可以将代理直接添加到需要的这些回购文件中(例如,使用外部软件包服务器的所有回购,与使用不需要代理的内部软件包管理器的回购文件相比)
erikbwork

1
proxy=_none_太好了,谢谢。那是一堆很棒的调味酱。如果可以的话,我会投票给你两次:)
Scottie H,

@erikbwork我刚刚proxy=http://proxy:port在.repo文件中添加了一个,它就起作用了。那是你的要求吗?
Scottie H,

4

如果我正确理解此问题,则预期的行为是

packages.centos.com通过代理获取。

packages.internal.lan无需代理即可直接运行。

我刚刚来到这里,自己用谷歌搜索了如何执行此操作,并使用上述信息来实现我想要的功能,但是我不确定上述答案是否完整。

为此,我使用了以下内容。

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

export no_proxy=internal.lan

yum install package1 package2

通过代理从互联网上提取了package1

从我的本地镜像中提取package2,但未通过代理。


3

我的解决方案涉及设置Privoxy,一个轻量级的http代理。

百胜安装privoxy

在/ etc / privoxy / config中添加两个forward子句:

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

并且还禁用privoxy的默认操作(确保没有头损坏):( RHEL5 privoxy配置中的@line 175)

#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 install package1 package2

注意:如果yum.conf中有代理行,请将其删除,它将覆盖环境变量。


我一直在寻找将privoxy主机列入白名单的方法,而且我的回答是:)
ahmadali shafiee

2

您可以仅在回购文件中指定它。例如:

[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_

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.