解决Terraform添加CDN域名时,出现HTTPS配置报错的问题。
问题现象
Terraform给出的报错日志如下:
│ Error: [ERROR] terraform-provider-alicloud/alicloud/resource_alicloud_cdn_domain_new.go:576: Resource public1.sige-test3.com SetCdnDomainSSLCertificate Failed!!! [SDK alibaba-cloud-sdk-go ERROR]:
│ SDKError:
│ StatusCode: 400
│ Code: SSLPri.MissingParameter
│ Message: code: 400, The SSLPri parameter is required. request id: F5512B73-4FCE-56DD-8F05-19BA81C701F1
│ Data: {"Code":"SSLPri.MissingParameter","HostId":"cdn.aliyuncs.com","Message":"The SSLPri parameter is required.","Recommend":"https://api.alibabacloud.com/troubleshoot?intl_lang=EN_US&q=SSLPri.MissingParameter&product=Cdn&requestId=F5512B73-4FCE-56DD-8F05-19BA81C701F1","RequestId":"F5512B73-4FCE-56DD-8F05-19BA81C701F1"}
│
│ with alicloud_cdn_domain_new.default,
│ on main.tf line 1, in resource "alicloud_cdn_domain_new" "default":
│ 1: resource "alicloud_cdn_domain_new" "default"
问题原因
在使用alicloud_cdn_domain_new
新建CDN域名并且添加HTTPS证书的时候,客户在传参里面设置了cert_type
参数,并且设置值为cas
(表示使用阿里云证书中心的证书)。
在cert_type="cas"
的情况下,若为阿里云国际站账号,则必须同时设置cert_region="ap-southeast-1"
(国际的阿里云证书中心);而阿里云中国站账号,则可以不设置,因为cert_region
的默认值是cn-hangzhou
(中国内地的阿里云证书中心)。
更多关于alicloud_cdn_domain_new
的参数信息,敬请参见alicloud_cdn_domain_new。
解决方案
在使用alicloud_cdn_domain_new
新建CDN域名且添加HTTPS证书的时候,当cert_type
设置为"cas"
时:
若当前账号是阿里云国际站账号,
cert_region
必填,且cert_region="ap-southeast-1"
。若当前账号不是阿里云国际账号,
cert_region
非必填,cert_region="cn-hangzhou"
。
例如:
# 添加一个加速域名
resource "alicloud_cdn_domain_new" "domain" {
domain_name = "mycdndomain.alicloud-provider.cn"
cdn_type = "download"
scope = "overseas"
sources {
content = "myoss.oss-rg-china-mainland.aliyuncs.com"
type = "oss"
priority = "20"
port = 80
weight = "15"
}
# 证书配置
# cert_id 需现在阿里云证书中心购买或上传证书并记录其ID
# cert_type=“cas” 表示使用阿里云证书中心的证书
# cert_regin = "ap-southeast-1" 表示使用国际站的阿里云证书中心
certificate_config {
cert_id = "1111111"
cert_name = "cert-2987438279834"
cert_type = "cas"
cert_region = "ap-southeast-1"
}
}
该文章对您有帮助吗?