当然,假设我有一个带有域名的网站。该域名具有:
- 一A 记录(example.com)指向原始服务器(或负载均衡器)。
- 一CNAME 记录(cdn.example.com)指向 CDN 服务器。
现在,我的问题是,当客户端向 cdn.example.com 发出请求时,该请求如何定向到附近的 CDN 边缘服务器?谁来解决这个问题?是 ISP 维护的 DNS 服务器、CDN 本身还是其他什么?
答案1
回答你的问题。cdn.example.com
将指向类似 的内容example-customer.cdn-provider.com
。这是 CDN 提供商控制下的 DNS 区域。从这一点开始,你可以查看CDN:我的 DNS 怎么会根据访问者的位置提供不同的 IP?
根据您要执行的操作,设置应该有所不同。最有可能的是,您希望对所有请求都使用 CDN example.com
。
由于无法在域的 Apex 上使用 CNAME,因此 CDN 的要求通常是将域托管在您的 CDN 提供商处。这样,他们就可以动态地回答 A 和 AAAA 的查询,如上述答案中所述。
答案2
在您的示例中,example.com 指向原始服务器。
CNAME 记录 cdn.example.com 指向 your.cdn.com。
当客户端向 cdn.example.com 发出请求时,您的 DNS 服务器会返回 your.cdn.com。
CDN 的名称服务器将解析 your.cdn.com。DNS 服务器由 CDN 维护。
最近的边缘服务器的 IP 地址由 CDN 的 DNS 服务器确定。有关如何执行此操作的更多信息,请参阅此答案。CDN:我的 DNS 怎么会根据访问者的位置提供不同的 IP?