Terraform 0.12升级后Application Gateway SSL证书配置报错如何解决
调整方案
错误产生的核心原因是Terraform 0.12对file函数的使用逻辑做了严格限制:仅支持读取UTF-8编码的文本类文件,而PFX格式的SSL证书属于二进制文件,不符合编码要求无法被file函数正常解析。
你可以直接使用Terraform 0.12新增的filebase64函数替换原有的base64encode(file())嵌套写法,filebase64原生支持读取任意格式的文件并直接返回Base64编码结果,正好匹配你的使用场景。
调整后的完整配置如下:
ssl_certificate { name = "helm-mbw-int.mercedes-benz.com.cn" data = filebase64("certificates/${var.helm_mbw_pfx_file}") password = var.helm_mbw_ssl_certificate_password }
注意事项
- 不需要再手动调用
base64encode做二次编码,filebase64已经完成了读取文件+输出Base64编码的全流程 - Terraform 0.12支持直接引用变量,无需再用
${}包裹单变量表达式,上述配置里的password字段也同步做了符合0.12语法规范的简化,你也可以根据自己的使用习惯保留原有写法
内容的提问来源于stack exchange,提问作者Autumn
相关产品推荐
相关产品推荐

