Linux 设置代理服务器,具体步骤和常见问题有哪些?
- 云服务器
- 2025-12-14
- 6
在Linux系统中设置代理服务器是许多用户和企业环境中的常见需求,无论是为了访问受限资源、提高网络性能还是增强安全性,代理服务器都扮演着重要角色,Linux系统提供了多种方式来配置代理,包括全局代理、针对特定应用的代理以及临时代理等,用户可以根据实际需求选择合适的方法。
环境变量配置全局代理
Linux系统中的环境变量是设置全局代理最简单的方式,适用于大多数命令行工具和网络应用,主要的环境变量包括HTTP_PROXY、HTTPS_PROXY和FTP_PROXY,分别用于配置HTTP、HTTPS和FTP协议的代理。NO_PROXY变量用于指定不需要使用代理的地址列表,例如本地网络或内网服务器。
配置环境变量的方法有两种:临时生效和永久生效,临时配置只需在终端中直接赋值,
export HTTP_PROXY="http://proxy.example.com:8080" export HTTPS_PROXY="http://proxy.example.com:8080" export NO_PROXY="localhost,127.0.0.1,*.local"
这种方式仅在当前终端会话中有效,关闭终端后配置失效,若要永久生效,可以将上述命令添加到用户的配置文件中,如~/.bashrc、~/.zshrc或/etc/profile(系统级配置),以~/.bashrc为例,在文件末尾添加环境变量后,执行source ~/.bashrc使配置生效。
需要注意的是,环境变量中的代理地址格式需包含协议(如http://或https://)和端口号,例如http://username:password@proxy.example.com:8080,如果代理服务器需要认证,需在地址中包含用户名和密码。
为特定应用配置代理
虽然全局代理设置方便,但某些应用可能需要独立的代理配置,以下介绍几种常用应用的代理设置方法:

Git
Git通过http.proxy和https.proxy配置项设置代理:
git config global http.proxy "http://proxy.example.com:8080" git config global https.proxy "http://proxy.example.com:8080"
若要取消代理,可使用git config global unset http.proxy,对于需要认证的代理,可在地址中添加用户名和密码,或使用Git的credential.helper管理认证信息。
APT(Debian/Ubuntu)
APT是Debian和Ubuntu系统的包管理工具,其代理配置文件为/etc/apt/apt.conf.d/01proxy,创建该文件并添加以下内容:
Acquire::http::Proxy "http://proxy.example.com:8080"; Acquire::https::Proxy "http://proxy.example.com:8080";
配置完成后,运行sudo apt update使代理生效。

YUM/DNF(RHEL/CentOS)
对于RHEL、CentOS等系统,YUM和DNF的代理配置文件为/etc/yum.conf或/etc/dnf/dnf.conf,在文件中添加:
proxy=http://proxy.example.com:8080 proxy_username=username proxy_password=password
如果代理无需认证,只需设置proxy项即可。
wget
wget的代理配置可通过~/.wgetrc文件实现,添加以下内容:
http_proxy = http://proxy.example.com:8080 https_proxy = http://proxy.example.com:8080 ftp_proxy = http://proxy.example.com:8080 no_proxy = localhost,127.0.0.1
Docker
Docker的代理配置需创建/etc/systemd/system/docker.service.d/httpproxy.conf为:
[Service] Environment="HTTP_PROXY=http://proxy.example.com:8080" Environment="HTTPS_PROXY=http://proxy.example.com:8080" Environment="NO_PROXY=localhost,127.0.0.1"
配置完成后,执行sudo systemctl daemonreload和sudo systemctl restart docker使代理生效。

系统级代理配置
对于桌面环境(如GNOME、KDE),可以通过图形界面设置系统代理,以GNOME为例,打开“设置”>“网络”>“网络代理”,选择“手动配置代理”并填写代理服务器地址和端口,这种方式会自动设置环境变量,使支持系统代理的应用生效。
验证代理配置
配置完成后,可通过以下命令验证代理是否生效:
curl I http://www.example.com
如果代理配置正确,命令输出会显示通过代理服务器的连接信息,访问需要代理的网站或使用env | grep i proxy查看当前环境变量中的代理设置。
常见问题与解决方案
-
代理配置后仍无法访问网络
检查NO_PROXY变量是否包含目标地址,确保代理服务器地址和端口正确,以及网络连接是否正常,对于需要认证的代理,确认用户名和密码无误。
-
某些应用不遵循环境变量代理
部分应用(如Java程序、浏览器)可能需要单独配置代理,Java可通过Dhttp.proxyHost和Dhttp.proxyPort参数设置代理;Firefox需在“设置”>“网络设置”中手动配置代理。
相关问答FAQs
Q1: 如何在Linux中临时取消代理设置?
A1: 若要临时取消代理,可执行unset HTTP_PROXY HTTPS_PROXY FTP_PROXY命令清除环境变量,对于系统级代理,需进入网络设置关闭代理选项,或删除对应的配置文件后重启相关服务(如Docker)。
Q2: 配置代理后出现“Connection refused”错误,如何排查?
A2: 首先检查代理服务器是否正常运行,可通过telnet proxy.example.com 8080测试端口连通性,若代理服务器正常,确认本地防火墙(如iptables、firewalld)未阻止代理端口,以及代理地址和端口号在配置中是否正确填写,检查代理认证信息是否有效,或尝试更换代理服务器地址。