You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shell中配置Web代理的主机与网络绕过设置?能否在Terminal中管理该设置?

嘿,这个问题我熟!在Shell环境里配置Web代理并绕过指定主机/网络,完全可以搞定,而且终端里就能轻松管理。我来一步步给你拆解:

1. 临时配置Shell代理(会话级)

如果只是想在当前终端会话里临时用代理,直接设置环境变量就行,不用改任何配置文件:

  • HTTP代理:export http_proxy="http://proxy-server:端口号"
  • HTTPS代理:export https_proxy="https://proxy-server:端口号"
  • FTP代理(如果需要的话):export ftp_proxy="ftp://proxy-server:端口号"
    如果代理需要用户名密码认证,格式是:export http_proxy="http://用户名:密码@proxy-server:端口号"
2. 绕过指定主机/网络(No Proxy)

要让某些本地服务、内部主机或者特定网段不走代理,就得设置no_proxy环境变量:

  • 绕过单个/多个主机:export no_proxy="localhost,127.0.0.1,internal.company.com"(用逗号分隔,不要加空格)
  • 绕过整个网段:比如export no_proxy="192.168.1.0/24,10.0.0.0/8"(大部分Linux发行版和macOS都支持CIDR格式)
  • 绕过某个域名下的所有子域名:export no_proxy="*.company.com"
  • 如果已经有no_proxy配置,想追加新的目标:export no_proxy="$no_proxy,new-internal-host.com"
3. 终端里管理代理设置

查看当前代理配置

直接打印环境变量就行:

  • echo $http_proxy
  • echo $https_proxy
  • echo $no_proxy

临时关闭代理(当前会话)

如果只是想暂时禁用代理,不用重启终端,直接unset变量:
unset http_proxy https_proxy no_proxy

持久化代理配置(永久生效)

如果想让代理设置每次打开终端都自动生效,就把export命令加到Shell的配置文件里:

  • 如果你用的是Bash:编辑~/.bashrc或者~/.bash_profile,把之前的export命令粘贴进去,然后执行source ~/.bashrc(或者对应的配置文件)让改动立即生效
  • 如果你用的是Zsh:编辑~/.zshrc,同样粘贴export命令,然后source ~/.zshrc
  • 系统级全局配置(所有用户生效):编辑/etc/environment,添加代理变量,需要sudo权限,改动后重启系统或者重新登录生效
4. 工具级单独代理/绕过(可选)

有些命令行工具(比如curl、wget)支持单独设置代理或绕过,不用修改全局环境变量:

  • curl绕过代理:curl --noproxy "localhost,internal.com" http://internal.com
  • wget设置代理:wget --proxy-user=用户名 --proxy-password=密码 http://example.com

小提醒:如果代理密码明文写在配置文件里,安全性可能有问题,敏感环境下可以考虑用代理工具或者通过密钥认证的方式来处理~

内容的提问来源于stack exchange,提问作者Youngkook Choice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:45:31