CDN的HTTPS配置及故障排除

简介: 相较于HTTP协议来说,HTTPS协议在网络链路中传输更具有安全可靠性,因为它通过SSL证书在链路中间对我们七层的网络包做了加密,进而防止了一些恶意的内容劫持。针对于这种场景,阿里云CDN也提供了相关的功能,可以支持客户端到CDN L1节点的HTTPS的协议。

相较于HTTP协议来说,HTTPS协议在网络链路中传输更具有安全可靠性,因为它通过SSL证书在链路中间对我们七层的网络包做了加密,进而防止了一些恶意的内容劫持。针对于这种场景,阿里云CDN也提供了相关的功能,可以支持客户端到CDN L1节点的HTTPS的协议。

在CDN上设置HTTPS

image

用户可以在这里选择自己的自有证书或者阿里云证书或者免费证书。自有证书相当于说是用户自己去CA机构申请的;阿里云证书则对接的是阿里云云盾的证书服务;免费证书是CDN提供的可以让用户免费使用的一种SSL证书,让用户可以快速上线查看自己的相关配置效果。

故障排除

但在经过了上面的配置了以后,经常会出现在配置完证书以后,HTTPS协议还是没法正常使用的情况。

那这种情况基本有三类常见的问题,下面我们就详细的来看一下具体问题。

故障一、CDN域名配置问题

大家在保证证书配置已经完成的情况下,首先需要查看自己的加速域名是否有正确的cname解析到CDN的cname上。如果对应的cname域名没有正确解析,那么节点上部署的SSL证书是不会生效的,可以通过dig或者nslookup命令来检测对应的域名是否有正确的解析。如下图:

image

故障二、浏览器没有生效

一种情况是部分低版本的浏览器没有正常生效配置的CA证书。

image

在这种情况下,我们通常会查看对应的证书内容。这里查看到的是一个uc.cn的证书。CDN本身的SSL服务是通过SNI技术来实现的,而SNI的技术主要是针对于在同一台服务器或者同一个节点上部署多个域名证书的一项技术。有部分的客户端浏览器会对这种技术有一些限制,进而就会出现一些低版本浏览器无法兼容SNI。针对于这种情况,建议升级客户端的浏览器版本(有时候也包括操作系统版本)来兼容SNI协议。

第二种情况是,部分高版本浏览器也无法识别对应的SSL证书的情况。

image

部分的浏览器会出现AUTHORITY_INVALID报错。针对这个错误,特别是在部分的移动端浏览器出现了这种错误,经常是由于我们的证书链不完整导致的。CA机构包括ROOT CA,包括中间CA,那像我们向中间CA申请的这种证书都会包括对应的证书链,如果我们在证书提交中缺失了这一部分中间证书,那就会导致部分的浏览器出现无法识别或者兼容的情况。针对于这种场景,我们需要把对应的证书链补全,保证对应的证书链在所有的浏览器中都兼容。

故障三、证书配置已经生效,但是仍然出现一些浏览器或者所有的浏览器都无法兼容的情况。

大家来看一下这张图。

image

这张图主要是COMMON_NAME_INVALID的一个错误,出现这个错误,是由于我们配置的SSL证书与对应的加速域名不匹配。因为我们向CA机构申请的证书是有对应的适用范围的,是针对于特定的域名或特对特定的泛域名提供的服务。如果域名不属于对应范围内的的话,就会出现这样的错误。所以客户在申请证书的时候,需要保证证书对应的范围与我们实际使用的加速域名是完全一致的,这样才能规避这种问题。

故障四、添加了证书以后,使用HTTPS访问出现504错误。

出现这种故障,基本上是由于CDN回源配置异常,导致了源站无法正常响应。

一种情况是由于协议跟随回源,顾名思义就是如果客户端使用的是HTTPS协议,那回源也走对应的HTTPS协议,走对应的443端口。这个时候就要求源站也配有对应的证书,并且443端口也能够正常地提供HTTPS协议的内容。如果源站不支持HTTPS协议的话,那这种情况下是不能开启协议跟随回源的,因此会导致504错误。

另一种情况是,源站是基于SNI技术实现HTTPS协议的。如果源站也是在同一个ECS服务器上配置了多个证书的话,也会导致对应的504错误。这是因为CDN回源的时候是不会带有对应的SNI信息的,导致源站的SNI的配置也无法正常的匹配到对应证书。

针对于这种情况,我们可以取消源站的SNI技术,保证同一台服务器上仅有一个证书提供服务。

故障五、使用HTTPS协议访问出现508错误。

这种错误主要是由于回源使用了80端口,也就是HTTP协议,然后源站配置了HTTP到HTTPS的强制跳转功能,其实前端使用HTTPS的协议也会强制跳转成HTTPS协议,所以就出现了508错误。这种情况,我们建议客户取消源站的强制跳转设置,将对应的强制跳转放在CDN上去做,由CDN去完成对应的HTTP到HTTPS的强制跳转。源站只提供对应的业务内容给CDN即可完成对应的配置。

以上就是 CDN的HTTPS配置及故障排除 的全部内容,您在CDN配置中还遇到过什么问题,欢迎留言讨论。


原文链接:https://aliyunnew.com/a/HTTPS-Configuration-and-Troubleshooting-of-CDN.html

相关文章
|
3月前
|
安全 应用服务中间件 网络安全
49.3k star,本地 SSL 证书生成神器,轻松解决 HTTPS 配置痛点
mkcert是一款由Filippo Valsorda开发的免费开源工具,专为生成受信任的本地SSL/TLS证书而设计。它通过简单的命令自动生成并安装本地信任的证书,使本地环境中的HTTPS配置变得轻松无比。mkcert支持多个操作系统,已获得49.2K的GitHub Star,成为开发者首选的本地SSL工具。
232 10
|
3月前
|
安全 网络协议 网络安全
怎么给ip地址配置https访问
为了配置公网IP地址的HTTPS访问,首先需明确需求并选择受信任的证书颁发机构(如JoySSL)。接着,在JoySSL官网注册并登录,填写特定注册码230922以获取免费IP证书的测试权限。提交证书申请时,填写IP地址及相关验证信息,并完成IP地址验证。验证通过后,下载证书文件。最后,使用浏览器访问IP地址,检查安全连接标志,确保无证书错误。通过以上步骤,可成功配置IP地址的HTTPS访问,提升数据传输安全性和可信度。
|
4月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
5月前
|
数据安全/隐私保护 Docker 容器
配置Harbor支持https功能实战篇
关于如何配置Harbor支持HTTPS功能的详细教程。
212 12
配置Harbor支持https功能实战篇
|
5月前
HAProxy的高级配置选项-配置haproxy支持https协议及服务器动态上下线
文章介绍了如何配置HAProxy以支持HTTPS协议和实现服务器的动态上下线。
228 8
|
5月前
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
134 3
|
5月前
|
Linux Docker Windows
Docker配置https证书案例
本文介绍了如何为Docker的Harbor服务配置HTTPS证书,包括安装Docker和Harbor、修改配置文件以使用证书、生成自签名证书、配置证书以及验证配置的步骤。
361 2
Docker配置https证书案例
|
5月前
|
应用服务中间件 网络安全 Apache
HTTPS配置
HTTPS配置
209 11
|
5月前
|
缓存 监控 负载均衡
在使用CDN时,如何配置缓存规则以优化性能
在使用CDN时,如何配置缓存规则以优化性能
|
5月前
|
监控 安全 应用服务中间件
如何配置HTTPS协议?
如何配置HTTPS协议?
505 4

热门文章

最新文章