Terraform TLS Provider
验证:未记录
- 适用版本
- 未记录
- 验证范围
- 尚未登记验证记录。
本文缩写(英文全称与中文含义)
| 缩写 | 英文全称/名称 | 中文含义 |
|---|---|---|
| CA | Certificate Authority | 证书颁发机构 |
| CSR | Certificate Signing Request | 证书签名请求 |
| ECDSA | Elliptic Curve Digital Signature Algorithm | 椭圆曲线数字签名算法 |
| HTTPS | Hypertext Transfer Protocol Secure | 使用 TLS 加密的 HTTP |
| TLS | Transport Layer Security | 传输层安全协议 |
用途#
生成密钥、证书签名请求(CSR)和证书。常用资源为 tls_private_key、tls_cert_request、tls_self_signed_cert、tls_locally_signed_cert。
示例#
为测试环境生成 ECDSA 私钥和有效期 7 天的自签名证书。
terraform {
required_providers {
tls = {
source = "hashicorp/tls"
version = "~> 4.0"
}
}
}
resource "tls_private_key" "demo" {
algorithm = "ECDSA"
ecdsa_curve = "P256"
}
resource "tls_self_signed_cert" "demo" {
private_key_pem = tls_private_key.demo.private_key_pem
validity_period_hours = 168
early_renewal_hours = 24
dns_names = ["app.test"]
allowed_uses = ["digital_signature", "server_auth"]
subject {
common_name = "app.test"
organization = "Example"
}
}
output "certificate_pem" {
value = tls_self_signed_cert.demo.cert_pem
}注意事项#
- 自签名证书不会自动获得客户端信任;公开服务通常使用受信任 CA 或托管证书服务。
- 本例的
tls_private_key将私钥保存在 state;sensitive只控制展示,不代表不落盘。 early_renewal_hours在 Terraform 运行时参与续期判断,不会自动部署新证书或重启服务。- TLS provider 生成证书材料,不负责服务器的 HTTPS 配置。