我用s3来拯救我的状态。由于这是一个定制的S3 (而不是AWS),所以我配置了它,如下所示(使用IP +端口)。
在运行terraform init时,我收到了以下错误:
成功配置后端"s3"!除非后端配置发生变化,否则Terraform将自动使用此后端。错误刷新状态: RequestError:发送请求失败,原因是: Get "https://custom_S3_服务器_IP:8082/mytest/my_sub_文件夹/terraform.tfstate“:x509:不能验证custom_S3_server_IP证书,因为它不包含任何IP SAN
通常,当我遇到这样的问题时,我假设它是端点(Dns)验证。但似乎我不能用Terraform来禁用它。下面是我的S3配置:
backend "s3" {
region = "DEGO"
skip_region_validation = true
force_path_style = true
bucket = "mytest"
key = "my_sub_folder/terraform.tfstate"
access_key = "myK"
secret_key = "myS"
endpoint = "custom_S3_server_IP:8082"
} 编辑:我知道证书不包含输入的IP,但是在每个有此问题的客户机中,总是有一种禁用dns验证的方法。例如Terraform实现可以使用“
发布于 2021-11-07 12:42:46
您的S3服务器的TLS证书没有在其Subject Alternative Name字段中列出的IP地址。您需要在具有此功能的S3服务器中使用适当的证书。
一个更简单的选择是在URL中使用DNS名称,并确保证书的SAN字段中有DNS名称。
发布于 2021-11-07 13:47:20
似乎目前没有使用terraform s3作为状态桶禁用tls验证的选项。
以下是一个未决问题的参考资料:
https://serverfault.com/questions/1082826
复制相似问题