配置HTTPS证书

更新时间:
复制 MD 格式

CDN加速域名配置HTTPS证书,能够加密客户端与CDN节点间的通信链路,防止数据在公网传输中被窃取或篡改,提升业务安全。

适用范围

配置前,需了解以下功能边界和约束,以确保证书能成功部署:

  • 购买证书:如果您没有证书,可以选择在SSL证书管理控制台申请个人测试证书(原免费证书)或购买正式证书。

  • 私钥要求:如果您选择上传自定义证书,上传的证书私钥必须无密码保护,请先验证私钥文件是否已去除密码保护

  • 国密证书(SM2):CDN控制台目前不支持直接配置SM2国密双证证书。如需使用国密证书,请通过API接口设置国密证书进行配置。

通过控制台配置

  1. 登录CDN控制台

  2. 在左侧导航栏,单击域名管理

  3. 域名管理页面,找到目标域名,单击操作列的管理

  4. 在指定域名的左侧导航栏,单击HTTPS配置

  5. HTTPS证书区域,单击修改配置

  6. HTTPS设置界面,打开HTTPS安全加速开关,并配置证书相关参数。开启HTTPS安全加速后将产生 HTTPS 请求数计费。

    • 如果您已在数字证书管理服务(原SSL)中购买了证书,请选择数字证书管理服务,并在证书名称中选择已购买的证书。在数字证书管理服务中购买的证书支持批量部署至CDN平台,具体操作请参见:批量配置HTTPS证书

      说明

      如果无法选择您购买的证书,请检查已购买证书绑定的域名和加速域名是否一致。

    • 如果您使用的是第三方服务商签发的证书,请选择自定义上传(证书+私钥),您需要在设置证书名称后,上传证书(公钥)私钥,该证书将在阿里云数字证书管理服务中保存,您可以在我的证书中查看

      自定义上传证书对证书(公钥)私钥格式要求严格,可以参考上传自定义证书处理证书(公钥)私钥

      参数

      说明

      证书名称

      为要上传的证书设置一个名称。

      仅支持使用英文字母、英文句号、数字、下划线(_)和短划线(-),且不能与已有证书名称重复。

      证书(公钥)

      填写步骤一中证书文件内容的PEM编码。

      私钥

      填写步骤一中私钥内容的PEM编码。由于私钥信息敏感,上传后不支持在控制台查看或导出,需在本地妥善保管。

  7. 单击确定,完成配置。

通过APICLI配置

可调用SetCdnDomainSSLCertificate接口配置。

若使用阿里云CLI,命令示例如下:

aliyun cdn set-cdn-domain-ssl-certificate \
  --domain-name <您的加速域名> \
  --cert-name <证书名称> \
  --cert-id <证书ID> \
  --cert-type cas \
  --ssl-protocol on \
  --region cn-hangzhou

若上传自定义证书,需传入ssl-pub(公钥)和ssl-pri(私钥)参数,且cert-type设为upload。命令示例如下:

aliyun cdn set-cdn-domain-ssl-certificate \
  --domain-name example.com \
  --cert-name yourCertName \
  --cert-type upload \
  --ssl-protocol on \
  --ssl-pub "<证书公钥PEM内容>" \
  --ssl-pri "<私钥PEM内容>" \
  --region cn-hangzhou
重要

不要将CSR文件内容传入接口。CSR文件仅用于申请证书,不能作为证书或私钥使用。

上传自定义证书

如果您拥有的是第三方服务商签发或自签名的证书,需要先将证书和私钥处理成CDN支持的格式,然后上传。

  • 证书(公钥)

    CDN只支持上传PEM格式的证书。其他格式的证书需要参考证书格式转换将其转换成PEM格式。针对不同证书颁发机构的证书,对证书内容的上传有不同的要求:

    • Root CA机构颁发的证书(一个证书文件)

      使用文本编辑器即可打开PEM格式的证书文件,将以-----BEGIN CERTIFICATE-----开头和以-----END CERTIFICATE-----结尾的内容一并上传。

      -----BEGIN CERTIFICATE-----
      [证书内容]
      -----END CERTIFICATE-----
    • 中级机构颁发的证书(多个证书文件)
      需将服务器证书、所有中间CA证书按顺序拼接成一个完整的证书链文件。文件内容应遵循以下格式:

      -----BEGIN CERTIFICATE-----
      [服务器证书内容]
      -----END CERTIFICATE-----
      -----BEGIN CERTIFICATE-----
      [中间CA证书内容]
      -----END CERTIFICATE-----
  • 私钥
    私钥的扩展名一般为.key.pem。使用文本编辑器即可打开私钥文件。不同内容的私钥上传要求区别如下:

    • RSA私钥直接上传

      如果私钥内容以-----BEGIN RSA PRIVATE KEY-----开头,-----END RSA PRIVATE KEY-----结尾,则直接上传私钥内容。

      -----BEGIN RSA PRIVATE KEY-----
      [私钥内容]
      -----END RSA PRIVATE KEY-----
    • 其他格式私钥先转换格式再上传

      如果您得到的是以-----BEGIN PRIVATE KEY-----开头,以-----END PRIVATE KEY-----结尾的私钥,您需要使用OpenSSL工具的转换命令先对私钥进行转换,然后将转换后的私钥内容按照直接上传的操作处理。其中old_server_key.pem为转换前的私钥,new_server_key.pem为转换后的私钥。

      # 需要转换的私钥
      -----BEGIN PRIVATE KEY-----
      [私钥内容]
      -----END PRIVATE KEY-----
      # 转换命令
      openssl rsa -in old_server_key.pem -out new_server_key.pem
    • 对于从第三方服务商下载或申请的证书,请注意区分公钥和私钥文件:

      • 通常.pem.crt文件包含公钥(证书内容),.key.private文件包含私钥

      • 上传时,请将公钥文件(.pem.crt)的内容填入"证书(公钥)"栏,将私钥文件(.key.private)的内容填入"私钥"栏。

      • 切勿上传CSR文件(Certificate Signing Request,证书签名请求)。CSR文件仅用于向证书颁发机构申请证书,不能作为证书或私钥上传使用。

      • 若使用Nginx格式证书,请确保:

        1. 证书文件内容为PEM格式,以-----BEGIN CERTIFICATE-----开头;

        2. 私钥文件内容为PEM格式,以-----BEGIN RSA PRIVATE KEY----------BEGIN PRIVATE KEY-----开头;

        3. 证书与私钥匹配;

        4. 去除文件中可能存在的额外空格、换行或非标准字符。

      • 若证书链不完整,需将中间证书合并到主证书文件中一并上传。详细信息,请参见证书格式说明

验证HTTPS配置是否生效

  • 浏览器验证:使用浏览器访问 https://您的加速域名。如果地址栏出现安全锁标志,且点击后能看到正确的证书信息,则表示配置成功。

  • 命令行验证:执行 curl -I https://您的加速域名,如果能正常返回 200,则表示HTTPS服务可用。

关闭HTTPS安全加速

如果您不再使用HTTPS安全加速功能,可随时在控制台关闭HTTPS安全加速。关闭HTTPS安全加速实时生效,关闭后使用HTTPS方式无法访问资源,且不再保留证书或私钥信息。

再次开启HTTPS安全加速时,需要重新选择需要使用的证书。

计费说明

启用HTTPS安全加速功能会产生额外费用。

  • 计费项:静态HTTPS请求数。此费用独立于CDN流量费,按账户下所有加速域名产生的静态HTTPS请求总数计费。

  • 付费模式:支持按量后付费和购买静态HTTPS请求数资源包(预付费)两种模式。

  • 成本提醒:

    • CDN下行流量包不可抵扣HTTPS请求产生的费用。

    • 购买的静态HTTPS请求数资源包可被CDNDCDN共享使用。

参考文档

文档

描述

配置协议重定向

您可以通过配置强制跳转HTTPS功能,将客户端到CDN节点的请求强制重定向为更安全的HTTPS请求。

配置HSTS

开启HSTS(HTTP Strict Transport Security)功能,您可以强制客户端(例如:浏览器)使用HTTPSCDN节点创建连接,提高安全性。

配置OCSP Stapling

CDN节点预先缓存在线证书验证结果并下发给客户端,无需浏览器直接向CA站点查询证书状态,减少用户验证时间。

相关API

API

描述

SetCdnDomainCSRCertificate

设置CSR文件。

DescribeDomainCertificateInfo

获取指定加速域名证书信息。

SetCdnDomainSSLCertificate

设置某域名下证书功能是否启用及更新证书信息。

SetCdnDomainCSRCertificate

设置指定域名下的HTTPS证书。

DescribeCdnDomainByCertificate

根据证书信息获取加速域名。

DescribeCdnCertificateDetail

查询CDN证书详细信息。

DescribeCdnCertificateList

获取证书列表信息。

DescribeCertificateInfoByID

获取指定证书信息。

DescribeCdnHttpsDomainList

获取用户所有证书信息。

DescribeUserCertificateExpireCount

获取用户证书过期的域名数。

SetCdnDomainSMCertificate

设置国密证书。

DescribeCdnSMCertificateList

查询国密证书列表。

DescribeCdnSMCertificateDetail

查询国密证书详情。