Jalena Blog

  • 首页
  • 程序开发
    • Java
    • Spring
    • SpringBoot
    • SpringMvc
    • Python
    • Odoo
    • C#
    • SQL
    • Web
    • Linux
  • 移动设备
    • Android
    • Router
  • 杂七杂八
    • 我的废话
    • 音频
    • 视频
    • 常用软件
  • 关于
  1. 首页
  2. 软件开发
  3. Linux
  4. 正文

Linux 设置全局代理

2024-12-22

在 Linux 系统中设置全局代理,可以通过配置环境变量来实现。

  • http_proxy 用于配置 HTTP 请求的代理。
  • https_proxy 用于配置 HTTPS 请求的代理。
  • ftp_proxy 用于配置 FTP 请求的代理。
  • all_proxy 用于配置所有协议的代理。它可以用于不区分协议的程序或工具。
  • no_proxy 用于设置不需要使用代理的地址或主机。可以列出多个地址,以逗号分隔。

环境变量的优先级

如果同时设置了多个代理环境变量,以下是它们的优先级顺序(从高到低):

  1. 协议特定代理:
    • http_proxy
    • https_proxy
    • ftp_proxy
    • socks_proxy
  2. 通用代理:
    • all_proxy
  3. 不使用代理的地址:
    • no_proxy

代理设置

根据自己的需求选择不同的代理设置方式,参考如下格式快速进行设置

HTTP/HTTPS 代理

export http_proxy="http://proxy_address:port"
export https_proxy="http://proxy_address:port"
export ftp_proxy="http://proxy_address:port"

全局代理

export all_proxy="http://proxy_address:port"

认证代理

如果代理服务器需要身份验证(用户名和密码),可以在代理 URL 中指定用户名和密码。

export http_proxy="http://username:password@proxy_address:port"
export https_proxy="http://username:password@proxy_address:port"
export ftp_proxy="http://username:password@proxy_address:port"

特定协议的代理设置(其他协议)

用于 SOCKS 代理配置(支持 SOCKS4 和 SOCKS5)。一些程序(如 curl、wget 等)也支持这个环境变量。

# 用于 SOCKS 代理配置(支持 SOCKS4 和 SOCKS5)。一些程序(如 curl、wget 等)也支持这个环境变量。
export socks_proxy="socks5://proxy_address:port"

# 这是 socks_proxy 的变体,专门针对 SOCKS5 代理配置。
export socks5_proxy="socks5://proxy_address:port"

示例配置

假设你希望设置 HTTP 和 HTTPS 的代理,同时希望指定本地地址不通过代理访问,可以使用以下环境变量:

export http_proxy="http://proxy_address:8080"
export https_proxy="http://proxy_address:8080"
export no_proxy="localhost,127.0.0.1,.example.com"

如果还希望为所有协议统一设置代理,可以同时设置 all_proxy:

export all_proxy="http://proxy_address:8080"
export all_proxy="socks5://10.0.0.200:7891"
export ALL_PROXY="socks5h://10.0.0.200:7891"

设置永久代理

如果希望永久应用这些代理设置,可以将上述环境变量添加到以下文件之一,取决于你的系统和使用的 shell:

  • Bash Shell:
    将代理设置添加到 ~/.bashrc 或 /etc/profile 中。
  • Zsh Shell:
    将代理设置添加到 ~/.zshrc 中。
  • System-wide:
    如果希望所有用户都使用这些设置,可以将代理环境变量添加到 /etc/environment 或 /etc/profile 文件中。

例如,在 ~/.bashrc 中添加:

export http_proxy="http://proxy_address:8080"
export https_proxy="http://proxy_address:8080"
export no_proxy="localhost,127.0.0.1,.example.com"
export all_proxy="http://proxy_address:8080"

然后,执行 source ~/.bashrc 使设置生效。

取消代理

要取消已经设置的代理,你只需要清除之前配置的代理环境变量。

临时取消代理(当前会话)

如果你仅仅希望在当前终端会话中取消代理,可以使用 unset 命令来删除相关的环境变量:

unset http_proxy
unset https_proxy
unset ftp_proxy
unset all_proxy
unset no_proxy
unset socks_proxy

此操作会立即取消代理设置,但只会对当前会话生效。如果关闭终端窗口或重新启动系统,代理设置仍然会生效。

永久取消代理

如果你希望永久取消代理设置(即在系统重启后生效),需要编辑相关的配置文件,并删除其中的代理设置。

1. 删除 .bashrc 或 .zshrc 中的代理设置

如果你在 ~/.bashrc、~/.zshrc 或其他用户的 shell 配置文件中设置了代理,可以编辑该文件并删除相关的代理行。

打开 ~/.bashrc 或 ~/.zshrc 文件:

nano ~/.bashrc
# 或者
nano ~/.zshrc

查找并删除类似以下的行:

export http_proxy="http://proxy_address:port"
export https_proxy="http://proxy_address:port"
export all_proxy="http://proxy_address:port"
export no_proxy="localhost,127.0.0.1,.example.com"

保存并退出后,执行以下命令使更改生效:

source ~/.bashrc  # 或者 source ~/.zshrc

2. 删除 /etc/environment 或 /etc/profile 中的代理设置

如果你将代理设置添加到系统范围的配置文件中(如 /etc/environment 或 /etc/profile),则需要编辑这些文件并删除代理设置。

例如,编辑 /etc/environment 文件:

sudo nano /etc/environment

然后删除以下行(如果存在):

http_proxy="http://proxy_address:port"
https_proxy="http://proxy_address:port"
ftp_proxy="http://proxy_address:port"
all_proxy="http://proxy_address:port"
no_proxy="localhost,127.0.0.1,.example.com"

保存文件并退出后,重新启动计算机或重新登录以使更改生效。

检查代理是否被完全清除

清除代理环境变量后,可以使用以下命令检查是否仍然有代理配置:

echo $http_proxy
echo $https_proxy
echo $ftp_proxy
echo $all_proxy
echo $no_proxy
标签: debian Linux proxy
最后更新:2024-12-22

Jalena

原创内容,转载请注明出处! 部分内容来自网络,请遵守法律适用!

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

【腾讯云】云服务器特惠热卖中
文章目录
  • 环境变量的优先级
  • 代理设置
    • HTTP/HTTPS 代理
    • 全局代理
    • 认证代理
    • 特定协议的代理设置(其他协议)
    • 示例配置
    • 设置永久代理
  • 取消代理
    • 临时取消代理(当前会话)
  • 永久取消代理
标签聚合
java Centos odoo 其他 生活 wordpress docker MySql
分类
  • Android / 4篇
  • C# / 10篇
  • Codec / 9篇
  • Conversion / 14篇
  • Editing / 16篇
  • Java / 47篇
  • Javascript / 3篇
  • Linux / 30篇
  • Odoo / 25篇
  • Python / 6篇
  • SQL / 30篇
  • Web / 3篇
  • Windows / 4篇
  • 我的日记 / 10篇
  • 杂七杂八 / 93篇
  • 软件开发 / 72篇
  • 非线性编辑 / 1篇

COPYRIGHT © 2026 Jalena Blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备17025376号