没有GUI的情况下如何配置代理?


78

如何使用终端在Ubuntu Server或Minimal(CLI)版本中配置代理设置?

Answers:


107

CLI Ubuntu / Server中的系统级代理必须设置为环境变量。

  • /etc/environment使用vi(或您喜欢的编辑器)打开文件。该文件存储在引导时初始化的系统范围的变量。
  • 添加以下行,进行适当的修改。您必须同时使用大写字母和小写字母,因为(不幸的是)某些程序只查找其中一个或另一个:

    http_proxy =“ http://myproxy.server.com:8080/”
    https_proxy =“ http://myproxy.server.com:8080/”
    ftp_proxy =“ http://myproxy.server.com:8080/”
    no_proxy =“ localhost,127.0.0.1,localaddress,.localdomain.com”
    HTTP_PROXY =“ http://myproxy.server.com:8080/”
    HTTPS_PROXY =“ http://myproxy.server.com:8080/”
    FTP_PROXY =“ http://myproxy.server.com:8080/”
    NO_PROXY =“ localhost,127.0.0.1,localaddress,.localdomain.com”
    
  • apt-getaptitude等会在与正常使用时不遵守环境变量sudo。因此,请分别配置它们;创建一个名为文件95proxies/etc/apt/apt.conf.d/,并包括以下内容:

    获取:: http :: proxy“ http://myproxy.server.com:8080/”;
    获取:: ftp ::代理“ ftp://myproxy.server.com:8080/”;
    获取:: https ::代理“ https://myproxy.server.com:8080/”;
    

最后,注销并重新启动以确保更改生效。


资料来源:12。尤其请参阅1以获取其他帮助,包括用于快速打开/关闭代理的脚本。


我需要帮助。我已经在虚拟的Ubuntu Server 12.04上尝试了一段时间,但无法正常工作。我在虚拟Ubuntu 12.04(非服务器)上使用它。但是我使用GUI来应用全局设置。我已经尝试过使用引号,如下面的链接所示,但没有帮助。如果我输入的是IP地址而不是domain.com名称,格式会更改吗?我已经尝试了几种组合方式。
Frantumn

您确定https_proxy =“ http吗?
BBK

好吧,在我看来这不是一个好答案,因为我在安装时提供的(不正确的)代理信息不在/ etc / environment中。
James T Snell 2014年

1
在我的情况下,Ubuntu 12.04,无需注销并重新启动即可确保更改生效。我执行:sudo服务网络管理器重启
Daniel Mora

1
@BBK即使使用https时,您仍可能必须通过http连接到代理,这基本上使代理服务器能够监听您可能安全的连接。
s3lph 2015年

9

如果您具有身份验证代理,则URL将不同。代替:

"http://myproxy.server.com:8080/"

您将拥有:

"http://user_name:password@myproxy.server.com:8080/"

请注意,这些仍然是URL,因此密码(可能还有用户名)必须进行URL编码

例如,用户名muru和的密码)qv3TB3LBm7EkP}类似:

"http://muru:)qv3TB3LBm7EkP%7D@myproxy.server.com:8080/"

这可以通过多种方式完成:

  1. 有几个编码网站:
  2. 程序化:

紧要关头,您可以man url用来查看哪些字符需要编码:

An escaped octet is encoded as a character triplet, 
consisting of the percent character "%" followed by 
the two hexadecimal digits representing the octet code...

八位位组代码可在上找到man ascii


0
                                 Proxy Environment Variables:

http_proxy:HTTP流量的
代理服务器https_proxy:HTTPS流量的
代理服务器ftp_proxy:FTP流量的代理服务器
no_proxy:不应使用代理的IP地址或域名的模式

除no_proxy外,每个代理设置的值都使用相同的模板。 proxy_http=username:password@proxy-host:port

临时设置代理: export HTTP_PROXY=user:pass@my.proxy.server:8080

永久代理设置:用于vim ~/.bash_profile打开bash设置文件,然后在其中放入以下几行

export http_proxy=username:password@proxyhost.com:8080
export https_proxy=username:password@proxyhost.com:8081
export no_proxy=localhost, 127.0.0.1, *.my.lan

用于source ~/.bash_profile应用更改


“导出”示例的最后一行中的错字(“ exprot”应为“ export”)。我试图对其进行编辑以应用此修复程序,但显然编辑必须为“ 6个字符或更多” ...
Jeremy Davis

1
谢谢,我已经纠正了。
Yossarian42
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.