CloudFlare无法启用三级域名SSL的问题
CloudFlare中如果启用了如 a.b.towait.co
m 这样的三级域名是无法启用https访问的,在DNS解析页面会出现“没有证书覆盖此主机名”的提示:
这是由于CF的边缘证书无法覆盖到三级域名,我们打开边缘证书设置项可以看到
图片很清晰地展示了它只匹配*.towait.com
这样的二级域名。
这是由于Cloudflare会为其托管的域名签发两张全局安全证书:根域名证书(例如 example.com
)和泛域名证书(例如 *.example.com
)。
- 需要注意的是,泛域名证书在默认情况下(免费套餐和部分套餐的初始状态)仅涵盖一级子域名,例如
a.example.com
、b.example.com
等,不包含多级子域名。 - 因此,如果您访问
a.b.example.com
,浏览器会因为找不到安全证书而出现异常,显示“此网站无法提供安全连接”的提示页面。
解决方案:
- 如果该域名对应的服务不是公开的,或者没有发布,您可以选择将多级子域名进行扁平化,简化为一级子域名。例如,将
a.b.c.example.com
转换为a-b-c.example.com
。 - 如果域名已经发布为公开服务,您可以将相应域名的安全证书上传到 Cloudflare(记得及时续签证书),或者直接购买 Cloudflare 的高级证书(自动续签)