证书的 Terraform 应用程序网关数据无效
Terraform application gateway Data for certificate is invalid
我正在使用 Terraform 部署一个 Azure 应用程序网关。在资源设置中,我有这样的配置:
ssl_certificate {
data = filebase64(var.ssl_certificate_path)
name = "demo-app-gateway-certificate"
password = var.ssl_certificate_password
}
trusted_root_certificate {
data = filebase64(var.ssl_certificate_path)
name = "demo-trusted-root-ca-certificate"
}
证书path
设置为变量:
variable "ssl_certificate_path" {
default = "./certificate.pfx"
}
但是当我 运行 terraform apply
我得到以下错误:
Error: creating/updating Application Gateway: (Name "demo-app-gateway" / Resource Group "XXXX"): network.ApplicationGatewaysClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: Code="ApplicationGatewayTrustedRootCertificateInvalidData" Message="Data for certificate /subscriptions/XXXXX/resourceGroups/XXXX/providers/Microsoft.Network/applicationGateways/demo-app-gateway/trustedRootCertificates/demo-trusted-root-ca-certificate is invalid." Details=[]
我尝试使用 filebase64 和 base64
,但我总是遇到同样的错误。
任何人都可以解释一下我在这里做错了什么吗?非常感谢。
如评论中所述,SSL 证书 应为 .pfx
格式,因为它需要私钥和 受信任的根证书 应该是 .cer
格式。
有关详细信息,您可以参阅此 Microsoft Document 中的管理证书部分。
所以作为一个解决方案,你必须使用如下:
ssl_certificate {
name = "app_listener"
data = filebase64("C:/powershellpfx.pfx")
password = "Password!1234"
}
trusted_root_certificate {
data = filebase64("C:/PowerShellCert.cer")
name = "demo-trusted-root-ca-certificate"
}
输出:
我正在使用 Terraform 部署一个 Azure 应用程序网关。在资源设置中,我有这样的配置:
ssl_certificate {
data = filebase64(var.ssl_certificate_path)
name = "demo-app-gateway-certificate"
password = var.ssl_certificate_password
}
trusted_root_certificate {
data = filebase64(var.ssl_certificate_path)
name = "demo-trusted-root-ca-certificate"
}
证书path
设置为变量:
variable "ssl_certificate_path" {
default = "./certificate.pfx"
}
但是当我 运行 terraform apply
我得到以下错误:
Error: creating/updating Application Gateway: (Name "demo-app-gateway" / Resource Group "XXXX"): network.ApplicationGatewaysClient#CreateOrUpdate: Failure sending request: StatusCode=0 -- Original Error: Code="ApplicationGatewayTrustedRootCertificateInvalidData" Message="Data for certificate /subscriptions/XXXXX/resourceGroups/XXXX/providers/Microsoft.Network/applicationGateways/demo-app-gateway/trustedRootCertificates/demo-trusted-root-ca-certificate is invalid." Details=[]
我尝试使用 filebase64 和 base64
,但我总是遇到同样的错误。
任何人都可以解释一下我在这里做错了什么吗?非常感谢。
如评论中所述,SSL 证书 应为 .pfx
格式,因为它需要私钥和 受信任的根证书 应该是 .cer
格式。
有关详细信息,您可以参阅此 Microsoft Document 中的管理证书部分。
所以作为一个解决方案,你必须使用如下:
ssl_certificate {
name = "app_listener"
data = filebase64("C:/powershellpfx.pfx")
password = "Password!1234"
}
trusted_root_certificate {
data = filebase64("C:/PowerShellCert.cer")
name = "demo-trusted-root-ca-certificate"
}
输出: