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

Docker容器内用wget安装Terraform出现GnuTLS SSL连接错误如何解决

报错场景

在Docker容器中使用wget工具安装Terraform时触发SSL连接报错,错误信息如下:

原文:GnuTLS: The TLS connection was non-properly terminated. Unable to establish SSL connection
翻译:GnuTLS库报错:TLS连接未正常终止,无法建立SSL连接

修复方案

按优先级从高到低尝试以下操作:

  • 第一步:更新容器内根证书与基础工具
    Debian/Ubuntu系容器执行:
    apt update && apt install -y ca-certificates wget
    Alpine系容器执行:
    apk add --no-cache ca-certificates wget
    执行完成后重新执行下载命令测试。
  • 第二步:强制指定TLS版本解决兼容问题
    部分旧版本GnuTLS和Terraform官方下载站点的TLS配置不兼容,可指定使用TLS1.2版本下载:
    wget --secure-protocol=TLSv1_2 [Terraform下载链接]
  • 第三步:替换为curl工具下载
    curl的SSL兼容适配性优于默认带GnuTLS的wget,先安装curl:
    Debian/Ubuntu系:apt install -y curl
    Alpine系:apk add --no-cache curl
    再执行下载:
    curl -O [Terraform下载链接]
  • 第四步:临时跳过证书校验(仅测试用,生产环境不推荐)
    确认是证书校验问题后可临时加参数绕开校验:
    wget --no-check-certificate [Terraform下载链接]
  • 第五步:校验时间同步配置
    容器系统时间和实际时间偏差过大时会触发证书有效性校验失败,启动容器时可挂载宿主机时间配置避免该问题:
    docker run -v /etc/localtime:/etc/localtime:ro [其他启动参数] 镜像名
  • 第六步:配置代理规则
    若容器所在网络需走代理访问外网,执行下载时可指定wget代理配置:
    wget -e use_proxy=yes -e http_proxy=http://代理地址:端口 -e https_proxy=http://代理地址:端口 [Terraform下载链接]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 11:27:04