我们正在尝试使用 terraform 在我们的 API 网关自定义域上启用双向 TLS。
mutual_tls_authentication = {
truststore_uri = "s3://${aws_s3_bucket.truststore.bucket}/truststore.pem"
}
文件
truststore.pem
还不存在于存储桶中,因为我们计划稍后将我们的证书上传到存储桶,但是 terraform 失败说 URI 无效(我将其解释为它正在寻找物理文件和文件不存在)。
错误:创建 API 网关域名时出错:BadRequestException:指定的信任库 URI/versionId 无效。
为了解决这个问题,我在名为
aws_s3_object
的存储桶中创建了一个虚拟的 truststore.pem
并重新运行了 terraform,却收到了这个错误:
Error: Error creating API Gateway Domain Name: BadRequestException: Must have at least one certificate in truststore.
所以我可以继续在 terraform 中创建一个实际的证书并引用它,但感觉不必要的复杂,因为我们不能将相互 TLS 添加到
api_gateway_domain_name
,直到我们创建了 S3 存储桶并添加了至少一个有效证书到truststore.pem file
.
这是正确的方法吗(即必须创建虚拟证书以便稍后替换)还是我遗漏了什么?