Terraform ACME证书创建失败:Cloudflare API请求头错误(6003)
解决vancluever/acme + Cloudflare DNS验证出现的6003无效请求头错误
针对Terraform配置突然失效,使用vancluever/acme Provider结合Cloudflare做ACME DNS挑战时触发ListZonesContext command failed: Invalid request headers (6003)错误的问题,结合推测的Cloudflare API请求头规则变更,可尝试以下解决方案:
升级vancluever/acme Provider版本
该Provider依赖的LEGO库可能未适配Cloudflare最新的请求头验证规则,旧版本的请求头格式可能已不被允许。在Terraform配置中指定最新稳定版并升级:terraform { required_providers { acme = { source = "vancluever/acme" version = "~> 2.20.0" # 替换为当前官方最新稳定版本 } } }执行命令完成升级:
terraform init -upgrade验证Cloudflare API令牌权限
虽然错误提示为请求头问题,但令牌权限异常也可能引发类似报错。确认你的Cloudflare API令牌具备以下权限:Zone.Zone:Read(用于读取域名Zone信息)Zone.DNS:Edit(用于添加/删除DNS验证记录)
同时确保令牌已关联到mydomain.com及www.mydomain.com所在的Zone。
自定义Cloudflare API请求头
尝试在acme Provider配置中指定自定义User-Agent,适配Cloudflare的新验证规则:provider "acme" { server_url = "https://acme-v02.api.letsencrypt.org/directory" cloudflare_api_token = var.cloudflare_api_token cloudflare_api_user_agent = "terraform-acme-provider/2.20.0" # 与Provider版本匹配 }排查本地网络拦截工具
本地的HTTP代理、防火墙或安全软件可能篡改了API请求头,导致Cloudflare验证失败。临时关闭这类工具后重新执行Terraform命令,确认是否解决问题。
内容的提问来源于stack exchange,提问作者Brian Horakh
相关产品推荐
相关产品推荐

