it-swarm.cn

如何检查网络代理是否真的应用?

我正试图设置网络代理使用我的局域网的互联网连接来更新包。虽然代理设置适用于我的firefox,但包管理器仍然无法连接到Internet。我在System >> Preferences >> Network Proxy中设置了代理,我也在'详细信息'中输入了代理的用户/通行证。

如何确保正确应用代理网络?

16
Alexar

首先,确保在更改gnome-network-properties(System -> Preferences -> Network Proxy)中的代理设置时单击“Apply the system-wide ...”。这将设置http_proxy和相关的环境变量。在代理设置为“在系统范围内应用...”之后启动的所有程序都应该可以使用此选项。要确定,您可以退出并重新登录以仔细检查。

如果您打开终端并使用命令set | grep -i proxy,您将看到相关的环境变量设置。理想情况下这应该足够了。

但是,我遇到了上述所有情况仍然不起作用的情况:即使按照上述方式设置,Synaptic或apt-get(通过命令行)也无法通过代理连接到Internet。在这种情况下,一种解决方案是在/etc/apt/apt.conf.d中添加一个文件,其中包含apt的特定代理配置(这将由apt-get,aptitude,synaptic和Ubuntu软件中心使用)。

请按照以下步骤操作:

  1. 创建/etc/apt/apt.conf.d/40proxy

    gksudo gedit /etc/apt/apt.conf.d/40proxy

  2. 将以下内容放入其中 - 根据您的具体情况修改内容。

    Acquire::http::Proxy "http://proxy.site.com:8080";

如果你有一个用户名和密码,你可以在代理URL中编码(如此,http://username:[email protected]:8080),或者你可以使用类似 ntlmaps 的东西来更好地控制。

更多信息可以找到 这里

12
koushik

如果您遇到问题(这是您的问题所暗示的),上面有一堆很好的答案可以帮助您。但是,这是检查是否已应用网络代理设置的狭隘问题的答案:

方法1:启动一个新的Shell(xterm),然后检查环境变量:

% env | grep -i proxy
http_proxy=http://172.17.0.130:8080/
ftp_proxy=ftp://172.17.0.130:8080/
all_proxy=socks://172.17.0.130:8080/
...

请注意,现有shell将具有更新的环境变量。因此,如果您正在执行查看其代理设置的环境变量的命令,请在创建的Shell中启动它之后对代理设置的更改。

方法2:使用gconftool查询gconf设置(存储在~/.gconf下):

% gconftool -R /system/proxy 
 old_ftp_port = 0
 old_ftp_Host = 
 old_secure_port = 0
 old_secure_Host = 
 autoconfig_url = 
 mode = manual
 ftp_Host = 172.17.0.130
 secure_Host = 172.17.0.130
 ...

% gconftool -R /system/http_proxy 
 use_authentication = false
 authentication_password = 
 authentication_user = 
 ignore_hosts = [localhost,127.0.0.0/8,*.local,...]
 use_http_proxy = true
 port = 8080
 use_same_proxy = true
 Host = 172.17.0.130

正如其他人所说,请确保您的浏览器和其他应用程序设置为“使用系统代理设置”。

5
craigster

您是否单击了“应用系统范围(突出显示)”按钮?如果您没有代理设置是Gnome会话的本地设置,因此当root关闭下载包时,它将不会使用相同的网络设置。

Proxy settings

5
Oli

如果你试试:

curl http://www.google.com

从命令行,然后如果你得到HTML代理正在工作。

1
bnieland

要临时设置代理,您可以启动终端并输入

export http_proxy="http://yourproxy:yourport"

然后启动程序,例如用于包管理的Synaptic。控制台可能会为您提供有用的输出信息。

1
Phi

有人想检查/添加设置:

在/ etc /环境

试试看:

http_proxy =“http:// user:password @ proxyserver:port”https_proxy =“http:// user:password @ proxyserver:port”ftp_proxy =“http:// user:password @ proxyserver:port”

0
t0m5k1

单击“Apply System-Wide ...”并检查所有Internet应用程序是否都设置为使用系统代理。没有什么比这更重要了。无需篡改配置文件和启动脚本。

0
Radu Cotescu

我也在使用代理,我必须专门为Synergy和更新管理器设置代理设置(使用Synergy:Configuration-> Preferences-> Network)。没有选择使用“系统设置”,即使它应该工作,在系统级别更改代理服务器从来没有让我能够更新:-(

我对一个让它工作的解决方案很感兴趣:-)

0
Little Jawa