阿里云CDN申请 CDN 配置 HTTPS 以后还是无法访问是什么原因?
(1)如果是购买证书以后自定义上传的情况,需要特别注意 SSL 证书根据其适 用范围可以分为:通配符域名、单个域名和多个域名。根据其名称即可查看购买的 证书分别适用于主域名下某个级别的全部子域名、单个域名或者多个域名。用户是 需要保证购买的证书必须适用于加速域名后续才可以添加在 CDN 中生效。如下图所 示的即是添加的 SSL 证书(适用于 www 域名)与 CDN 加速域名(video 的子域名) 是不相匹配的,因此会抛出 NET::ERR_CERT_COMMON_NAME_INVALID 的 错误。 (2)CA 机构提供的证书为了兼容性可能会提供多种形式的证书,CDN 支持的证 书仅有 PEM 格式,并且私钥需要 RSA 格式。如果客户获取得到的是其他格式的证 书是需要转换后然后提交到 CDN 服务中的,常见格式切换格式请参考:CDN 证书格 式说明,而其中的私钥文件如果是 -----BEGIN PRIVATE KEY-----, ----- END PRIVATE KEY----- 样式的话是需要通过如下命令转换成 RSA 格式: openssl rsa -in old_server_key.pem -out new_server_key.pem (3)CDN 是不支持设置密码的私钥。如图 3 所示即是经过加密的私钥,这类私 钥文件是需要经过解密后才可以正常使用,因此 CDN 是无法正常使用的。
(4)证书链需要补全中间证书。对于中级 CA 机构提供的证书,那么拿到的证书 将包括多份证书,而 CDN 需要添加的是包括中间证书的完整证书链,拼接规则为: 服务器证书放第一份,中间证书放第二份,中间不要有空行。另外有一些中间证书 CA 机构提供了不同的服务器使用的证书,由于 CDN 是基于 Tengine 提供服务的, 因此用户是需要使用 Nginx 对应的证书到视频中心的。 (5)CDN 的 HTTPS 技术是基于 SNI 技术实现的。SNI 技术主要是用来在同一 台服务器上配置多个证书的需求,而 SNI 是需要客户端发送请求的时候带有 SNI 的 信息以标识是哪个域名的 SSL 请求,因此 SNI 技术对客户端有一定的要求,部分低 版本系统中的低版本浏览器不满足该要求。SNI 技术对于客户端的限制详细请参考: SNI 对客户端浏览器限制。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。