使用Terraform添加CDN域名出现HTTPS配置报错

更新时间:2025-03-24 06:42:45

解决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

Terraform2025030485

解决方案

在使用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"
  }
}