为CDN加速域名配置HTTPS证书,能够加密客户端与CDN节点间的通信链路,防止数据在公网传输中被窃取或篡改,提升业务安全。
适用范围
配置前,需了解以下功能边界和约束,以确保证书能成功部署:
购买证书:如果您没有证书,可以选择在SSL证书管理控制台申请个人测试证书(原免费证书)或购买正式证书。
私钥要求:如果您选择上传自定义证书,上传的证书私钥必须无密码保护,请先验证私钥文件是否已去除密码保护。
国密证书(SM2):CDN控制台目前不支持直接配置SM2国密双证证书。如需使用国密证书,请通过API接口设置国密证书进行配置。
通过控制台配置
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,找到目标域名,单击操作列的管理。
在指定域名的左侧导航栏,单击HTTPS配置。
在HTTPS证书区域,单击修改配置。
在HTTPS设置界面,打开HTTPS安全加速开关,并配置证书相关参数。开启HTTPS安全加速后将产生 HTTPS 请求数计费。
如果您已在数字证书管理服务(原SSL)中购买了证书,请选择数字证书管理服务,并在证书名称中选择已购买的证书。在数字证书管理服务中购买的证书支持批量部署至CDN平台,具体操作请参见:批量配置HTTPS证书。
说明如果无法选择您购买的证书,请检查已购买证书绑定的域名和加速域名是否一致。
如果您使用的是第三方服务商签发的证书,请选择自定义上传(证书+私钥),您需要在设置证书名称后,上传证书(公钥)和私钥,该证书将在阿里云数字证书管理服务中保存,您可以在我的证书中查看。
自定义上传证书对证书(公钥)和私钥格式要求严格,可以参考上传自定义证书处理证书(公钥)和私钥。
参数
说明
证书名称
为要上传的证书设置一个名称。
仅支持使用英文字母、英文句号、数字、下划线(
_)和短划线(-),且不能与已有证书名称重复。证书(公钥)
填写步骤一中证书文件内容的PEM编码。
私钥
填写步骤一中私钥内容的PEM编码。由于私钥信息敏感,上传后不支持在控制台查看或导出,需在本地妥善保管。
单击确定,完成配置。
通过API或CLI配置
可调用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格式证书,请确保:
证书文件内容为PEM格式,以
-----BEGIN CERTIFICATE-----开头;私钥文件内容为PEM格式,以
-----BEGIN RSA PRIVATE KEY-----或-----BEGIN PRIVATE KEY-----开头;证书与私钥匹配;
去除文件中可能存在的额外空格、换行或非标准字符。
若证书链不完整,需将中间证书合并到主证书文件中一并上传。详细信息,请参见证书格式说明。
验证HTTPS配置是否生效
浏览器验证:使用浏览器访问
https://您的加速域名。如果地址栏出现安全锁标志,且点击后能看到正确的证书信息,则表示配置成功。命令行验证:执行
curl -I https://您的加速域名,如果能正常返回200,则表示HTTPS服务可用。
关闭HTTPS安全加速
如果您不再使用HTTPS安全加速功能,可随时在控制台关闭HTTPS安全加速。关闭HTTPS安全加速实时生效,关闭后使用HTTPS方式无法访问资源,且不再保留证书或私钥信息。
再次开启HTTPS安全加速时,需要重新选择需要使用的证书。
计费说明
启用HTTPS安全加速功能会产生额外费用。
计费项:静态HTTPS请求数。此费用独立于CDN流量费,按账户下所有加速域名产生的静态HTTPS请求总数计费。
付费模式:支持按量后付费和购买静态HTTPS请求数资源包(预付费)两种模式。
成本提醒:
CDN下行流量包不可抵扣HTTPS请求产生的费用。
购买的静态HTTPS请求数资源包可被CDN和DCDN共享使用。
参考文档
文档 | 描述 |
您可以通过配置强制跳转HTTPS功能,将客户端到CDN节点的请求强制重定向为更安全的HTTPS请求。 | |
开启HSTS(HTTP Strict Transport Security)功能,您可以强制客户端(例如:浏览器)使用HTTPS与CDN节点创建连接,提高安全性。 | |
CDN节点预先缓存在线证书验证结果并下发给客户端,无需浏览器直接向CA站点查询证书状态,减少用户验证时间。 |
相关API
API | 描述 |
设置CSR文件。 | |
获取指定加速域名证书信息。 | |
设置某域名下证书功能是否启用及更新证书信息。 | |
设置指定域名下的HTTPS证书。 | |
根据证书信息获取加速域名。 | |
查询CDN证书详细信息。 | |
获取证书列表信息。 | |
获取指定证书信息。 | |
获取用户所有证书信息。 | |
获取用户证书过期的域名数。 | |
设置国密证书。 | |
查询国密证书列表。 | |
查询国密证书详情。 |