MENU

聊聊CDN的误区

May 31, 2017 • Security

前言

基本上所有的 CDN 厂商都会选择自架 DNS 而不是只提供 CNAME 方式解析,我们来了解下其中的原因。

分析

我们先从域名开始说起,例如腾讯的域名 www.qq.com 。也可以是 qq.com ,但是为什么大多数网站都会选择 www 作为二级域名呢?因为当初设计 DNS 时都会遵从这样的考虑:

  • www.qq.com :提供万维网服务,也就是网页浏览,通过 A 记录解析;
  • smtp.qq.com/pop3.qq.com :提供邮箱服务器,通过 A 记录解析到IP;
  • mail.qq.com :提供邮箱服务,使用 MX 记录,这样邮箱就是 @qq.com 后缀;
  • ftp.qq.com :提供 FTP 服务,通过 A 记录解析;
  • qq.com :顶级域名

按照 RFC 1034 标准,如果设置有 CNAME 记录,为了避免混淆,不可出现其它记录(比如:MX )。如果用户的域名是顶级域名,当然不希望 @ 后面跟着 mail 。因此 CDN 厂商不得不自架 DNS,并自定义一个智能解析类型,自定义 CDN 类型解析。返回的结果就是权威服务器进行智能解析后的 A 记录,这样就可以与 MX 共存,并且不使用 CNAME 还能省去一次解析时间,加快访问速度。

吐槽

一般使用 CDN 的厂商都会选择使用 CNAME 的方式,而不会直接修改 DNS 服务器为 CDN 厂商,哪个厂商会愿意把域名的所有解析权给一家 CDN ,当然个人站小站除外。然后尴尬的地方就出现了, @ 主域名无法使用 CNAME 解析但又必须访问(我也很无奈我能怎么办)。除非单独使用服务器做 302 跳转或者自建 CDN 自定义智能解析类型。这就衍生了一群不懂 CDN 的人天天想着怎么绕过 CDN 查找源IP。

ZZZJvq6.png

Tags: CDN
Archives QR Code
QR Code for this page
Tipping QR Code