CloudFlare无法启用三级域名SSL的问题

技术运维

CloudFlare中如果启用了如 a.b.towait.com 这样的三级域名是无法启用https访问的,在DNS解析页面会出现“没有证书覆盖此主机名”的提示:

这是由于CF的边缘证书无法覆盖到三级域名,我们打开边缘证书设置项可以看到

图片很清晰地展示了它只匹配*.towait.com这样的二级域名。

这是由于Cloudflare会为其托管的域名签发两张全局安全证书:根域名证书(例如 example.com)和泛域名证书(例如 *.example.com)。

  • 需要注意的是,泛域名证书在默认情况下(免费套餐和部分套餐的初始状态)仅涵盖一级子域名,例如 a.example.comb.example.com 等,不包含多级子域名
  • 因此,如果您访问 a.b.example.com,浏览器会因为找不到安全证书而出现异常,显示“此网站无法提供安全连接”的提示页面。

解决方案:

  • 如果该域名对应的服务不是公开的,或者没有发布,您可以选择将多级子域名进行扁平化,简化为一级子域名。例如,将 a.b.c.example.com 转换为 a-b-c.example.com
  • 如果域名已经发布为公开服务,您可以将相应域名的安全证书上传到 Cloudflare(记得及时续签证书),或者直接购买 Cloudflare 的高级证书(自动续签)

Post Comment