为CDN加速域名配置HTTPS证书,能够加密客户端与CDN节点间的通信链路,防止数据在公网传输中被窃取或篡改,提升业务安全。
计费说明
启用HTTPS安全加速功能会产生额外费用。
计费项:静态HTTPS请求数。此费用独立于CDN流量费,按账户下所有加速域名产生的静态HTTPS请求总数计费。
付费模式:支持按量后付费和购买静态HTTPS请求数资源包(预付费)两种模式。
成本提醒:
CDN下行流量包不可抵扣HTTPS请求产生的费用。
购买的静态HTTPS请求数资源包可被CDN和全站加速产品共享使用。
适用范围
配置前,需了解以下功能边界和约束,以确保证书能成功部署:
私钥要求:上传的私钥必须是无密码保护的。由于私钥信息敏感,上传后不支持在控制台查看或导出,需在本地妥善保管。其他证书相关的常见问题,请参见更多证书问题。
SNI(服务器名称指示):CDN的HTTPS服务依赖SNI。如果客户端(如过旧的Android/iOS系统、Java 6及以下版本)在发起SSL握手时不传递SNI信息,CDN节点将无法返回正确的证书,导致握手失败。
批量配置:在阿里云数字证书管理服务(原SSL)中购买的证书支持批量部署至CDN平台,请参见:批量配置HTTPS证书。
CRS工具:如果您不希望将私钥暴露在阿里云CDN以外的环境中,那么您可以使用数字证书管理服务提供的 CSR(Certificate Signing Request) 管理工具,生成基于RSA、ECC密钥算法的CSR和私钥,或上传已有的CSR,请参见手动创建或上传CSR。
配置HTTPS证书
步骤一:准备证书与私钥
如果您在阿里云数字证书管理服务(原SSL)中购买的证书,直接参考步骤二进行配置。如果您使用第三方证书,您需要先按照以下格式对证书和密钥进行整理。
证书(公钥)
CDN只支持上传PEM格式的证书和私钥。其他格式证书需要转换成PEM格式,请参考证书格式转换方式。针对不同证书颁发机构的证书,对证书内容的上传有不同的要求:
Root CA机构颁发的证书
将以
-----BEGIN CERTIFICATE-----
开头和以-----END CERTIFICATE-----
结尾的内容一并上传。-----BEGIN CERTIFICATE----- [证书内容] -----END CERTIFICATE-----
中级机构颁发的证书
需将服务器证书、所有中间CA证书按顺序拼接成一个完整的证书链文件。文件内容应遵循以下格式:-----BEGIN CERTIFICATE----- [服务器证书内容] -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- [中间CA证书内容] -----END CERTIFICATE-----
私钥
私钥扩展名一般为.pem
或.key
,在文本编辑器中打开私钥文件,将以-----BEGIN RSA PRIVATE KEY-----
开头,-----END RSA PRIVATE KEY-----
结尾的内容一并上传。-----BEGIN RSA PRIVATE KEY----- [私钥内容] -----END RSA PRIVATE KEY-----
说明如果您得到的是以
-----BEGIN PRIVATE KEY-----
开头,以-----END PRIVATE KEY-----
结尾的私钥,您需要使用OpenSSL工具执行以下命令进行转换,然后将new_server_key.pem
的内容以规定的私钥格式上传。openssl rsa -in old_server_key.pem -out new_server_key.pem
步骤二:在控制台配置证书
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名管理页面,找到目标域名,单击操作列的管理。
在指定域名的左侧导航栏,单击HTTPS配置。
在HTTPS证书区域,单击修改配置。
在HTTPS设置界面,打开HTTPS安全加速开关,并配置证书相关参数。
如果您已在数字证书管理服务(原SSL)中购买了证书,请选择云盾(SSL)证书中心,并在证书名称中选择已购买的证书。
说明如果无法选择您购买的证书,请检查已购买证书绑定的域名和加速域名是否相同。
如果您使用的是第三方服务商签发的证书,请选择自定义上传(证书+私钥),您需要在设置证书名称后,上传证书(公钥)和私钥,该证书将在阿里云数字证书管理服务中保存。您可以在我的证书中查看。
参数
说明
证书名称
为要上传的证书设置一个名称。
仅支持使用英文字母、英文句号、数字、下划线(
_
)和短划线(-
),且不能与已有证书名称重复。证书(公钥)
填写步骤一中证书文件内容的PEM编码。
私钥
填写步骤一中私钥内容的PEM编码。
单击确定,完成配置。
步骤三:验证HTTPS配置是否生效
配置提交约1分钟后,可通过以下方式验证HTTPS是否已生效:
浏览器验证:使用浏览器访问
https://您的加速域名
。如果地址栏出现安全锁标志,且点击后能看到正确的证书信息,则表示配置成功。命令行验证:执行
curl -I https://您的加速域名
,如果能正常返回200
,则表示HTTPS服务可用。
关闭HTTPS安全加速
如果您不再使用HTTPS安全加速功能,可随时在CDN控制台关闭HTTPS安全加速。关闭HTTPS安全加速实时生效,关闭后使用HTTPS方式无法访问资源,且不再保留证书或私钥信息。
再次开启HTTPS安全加速时,需要重新选择需要使用的证书。
参考文档
文档 | 描述 |
您可以通过配置强制跳转HTTPS功能,将客户端到CDN节点的请求强制重定向为更安全的HTTPS请求。 | |
开启HSTS(HTTP Strict Transport Security)功能,您可以强制客户端(例如:浏览器)使用HTTPS与CDN节点创建连接,提高安全性。 | |
CDN节点预先缓存在线证书验证结果并下发给客户端,无需浏览器直接向CA站点查询证书状态,减少用户验证时间。 |
常见问题
相关API
API | 描述 |
创建CSR文件。 | |
获取指定加速域名证书信息。 | |
设置某域名下证书功能是否启用及更新证书信息。 | |
设置指定域名下的HTTPS证书。 | |
根据证书信息获取加速域名。 | |
查询CDN证书详细信息。 | |
获取证书列表信息。 | |
获取指定证书信息。 | |
获取用户所有证书信息。 | |
获取用户证书过期的域名数。 | |
设置某域名下国密证书功能是否启用。 | |
获取指定加速域名下国密证书列表信息。 | |
获取国密证书的详细信息。 |