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

Windows下使用AWS CLI出现SSL验证失败如何导入证书完成配置?

解决Windows下AWS CLI SSL证书校验失败问题

核心原因

你的网络链路中存在SSL解密拦截(常见于企业内网代理、防火墙设备),AWS CLI默认不信任拦截设备的自签CA证书,导致请求被拦截返回错误。添加--no-verify-ssl参数跳过证书校验后请求可正常发送,即可确认是证书信任问题。

操作步骤

步骤1:导出需要信任的根证书

  • 用Chrome/Edge浏览器打开任意AWS公有服务地址,例如https://s3.amazonaws.com
  • 点击地址栏左侧的锁形图标 → 「连接安全」→ 「查看证书」
  • 切换到「证书路径」标签页,选中最顶层的根证书条目 → 点击「查看证书」
  • 切换到新弹窗的「详细信息」标签页 → 点击「复制到文件」
  • 导出格式选择「Base64编码的X.509(.CER)」,保存到本地路径,例如C:\certs\company-root.cer

步骤2:配置AWS CLI信任自定义证书

方式1:全局永久生效(推荐)

打开PowerShell执行以下命令,写入AWS CLI全局配置:

aws configure set ca_bundle C:\certs\company-root.cer

验证配置是否生效:

aws s3 ls s3://MyBucketName

无需添加--no-verify-ssl即可正常返回结果,说明配置生效。

方式2:临时生效(仅当前终端会话有效)

仅需临时测试时,可在当前PowerShell会话配置环境变量:

$env:AWS_CA_BUNDLE = "C:\certs\company-root.cer"

关闭终端后配置自动失效。

步骤3:同步配置到Terraform

Terraform的AWS provider默认会读取AWS CLI的CA证书配置,如果仍然报错,可以在Terraform代码的AWS provider块中显式指定证书路径:

provider "aws" {
  region    = "你的AWS可用区域,例如ap-southeast-1"
  ca_bundle = "C:/certs/company-root.cer"
}

重新执行terraform plan/terraform apply即可正常运行。

注意事项

  • 不要长期使用--no-verify-ssl参数,会跳过SSL校验,存在数据传输被窃听、篡改的风险
  • 如果根证书更新,只需替换本地保存的证书文件即可,无需修改AWS CLI配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:09:02