文档首页/ AI开发平台ModelArts/ 故障排除/ 开发环境/ 其他故障/ wget不识别no_proxy通配符,怎么办?
更新时间:2026-01-06 GMT+08:00
分享

wget不识别no_proxy通配符,怎么办?

问题现象

在wget 1.20以下版本中,no_proxy环境变量配置的通配符(如*.obs.com)不生效,导致下载请求仍然通过代理服务器。

  • no_proxy:环境变量,用于指定无需通过代理服务器访问的域名列表。
  • 通配符:如*,可以匹配任意字符的符号(例如*.obs.com匹配a.obs.com、b.obs.com等)。

原因分析

  • wget 1.20以下版本对no_proxy通配符的支持存在缺陷,无法正确匹配*.obs.com格式的域名。
  • 部分系统(如RHEL 8)的wget版本会忽略no_proxy中的通配符配置。

解决方案

选择以下任意一种方法解决通配符配置问题。
  • 配置完整域名
    在no_proxy中列出需要跳过代理的完整域名(如no_proxy='obs.com,sub.obs.com'),避免使用通配符。
    # 示例:临时设置环境变量
    export no_proxy="obs.com,sub.obs.com"
  • 使用curl替代

    curl命令支持no_proxy环境变量,且语法与wget兼容。

    curl -O https://xxx.obs.com/file  # 直接下载,绕过代理
  • 升级wget版本

    升级wget版本至1.20以上,如果升级困难,建议更换为预装wget 1.20以上版本的镜像。

临时方案:直接禁用代理,通过清除代理环境变量(unset http_proxy https_proxy)可强制所有域名不经过代理。

验证通配符问题是否解决

  1. 检查当前代理配置。
    env | grep -i proxy
  2. 查看下载日志,确认是否绕过代理。
    wget --debug https://xxx.obs.com/file

相关文档