Domain IP Lookup

为什么查询结果显示的是 CDN,而非源站

访客

查询该域名

CDN 边缘节点

104.21.x.x

DNS 返回的就是它

源站服务器

真实 IP,从不暴露

基础设施与运维

什么是源站服务器?它与 CDN 有何不同

4 分钟阅读

源站服务器是向 CDN、反向代理或负载均衡器等中间层提供原始网站内容或应用响应的系统。访客连接的可能是这个中间层,而不是直接连到源站。中间层可以缓存内容、终结 TLS、过滤流量、分发请求,或保护源站不被直接暴露。这种架构解释了为什么域名转 IP 查询常常返回属于 CDN 或代理的地址,而不是存放应用数据的那台机器。公共 DNS 应答标识的是对外发布的入口,不一定包括它背后的每一个内部组件。

经过中间层的请求路径

典型的请求路径,始于 DNS 把公开的主机名解析为一个边缘节点地址。用户的浏览器连接到 CDN 或代理,由它决定是直接返回缓存的响应,还是把请求转发给源站。源站可以是虚拟机、容器平台、云负载均衡器或托管主机服务。公网边缘和应用之间,可能存在好几层。每一层都有各自独立的健康、路由和安全设置,所以一次成功的 DNS 查询,只能确认入口所发布的地址,并不能确认代理能够连到源站。

组件典型职责
DNS发布主机名对外的路由应答
CDN 边缘节点缓存内容,并处理就近用户的连接
反向代理接收请求并将其转发给上游
源站生成或存储原始的应用响应

把源站置于中间层之后,可以减少直接暴露并集中管控,但这种设计依赖于正确的配置。在可行的情况下,源站通常应只接受来自指定代理网络或经过认证路径的流量,管理员还应避免通过无关的 DNS 记录或应用基础设施,意外地公布源站的直连地址。同时,源站必须保持受监控,并让代理能够访问到。配置错误的允许名单可能拦下正常的边缘流量,而源站故障则可能让公共域名失效,尽管它的 DNS 和 CDN 边缘节点都很健康。

为什么 IP 查询无法确定源站

DNS 查询返回的,是解析器被允许看到的记录。如果域名指向 CDN,这些应答就是 CDN 的公共端点。DNS 可能根本不会披露源站,查询工具也不应声称某个边缘节点的 IP 就是源站。地址归属信息可以帮助识别基础设施服务商,但依然无法揭示完整的后端拓扑。在安全或事件处置工作中,请谨慎对待这类证据:共享的边缘地址可能为许多域名服务,仅凭单个地址做出的假设,可能会错误地归属某项服务。

  • 用 DNS 来识别公开的入口,而不要凭它去假定后端架构。
  • 到 CDN 和反向代理的控制台中,检查与源站的连通性和健康状况。
  • 通过有文档记录的网络和认证控制来保护源站访问。
  • 避免无意中在公共 DNS 中暴露私有或管理用途的源站。
  • 准确地把观察到的 IP 描述为某一时刻的公共 DNS 应答。

由外向内排查

如果用户无法访问某个站点,先验证公共 DNS,再测试边缘连接和证书,最后检查代理到源站的健康状况以及应用日志。公网地址有效却出现代理错误,往往说明问题不在 DNS。如果只有部分地区失败,请按地点比较解析器的应答和 CDN 的健康状况。如果记录变更之后所有地区都失败,请检查新的 DNS 目标是否符合服务商预期的配置。这种分层的方法可以缩小问题范围,而无需绕过任何防护,也无需去探查您并不管理的隐藏基础设施。

相关的架构介绍,请参阅 CDN 如何借助 DNS 调度流量和为什么 CDN 会隐藏源站 IP。公共的域名查询工具适合用来检查 DNS 当前对外通告的地址。要诊断源站,请使用您自己的托管和代理遥测数据,而不要把公共名称解析当作服务内部设计的完整地图。

源站是一种应用角色,而不是某个特定地址

团队有时会把源站描述成单个服务器 IP,但现代部署可能在一个 CDN 背后有多个源站池、私有负载均衡器、无服务器应用或存储服务。源站这一角色,由向中间层提供内容的对象来定义,而不是某台固定的机器。源站可以迁移或扩缩容,而公共 DNS 仍在通告同一个边缘节点。记录架构文档时,请标注每一道边界:公开主机名、CDN 边缘节点、源站端点和应用后端。这有助于事件响应人员向正确的负责人索取正确的日志。如果响应在边缘节点失败,请对比边缘节点的诊断信息与源站的健康状况和请求 ID,而不要假定公共 DNS 地址就标识了出问题的组件。

需要查看某个域名的公网 DNS 地址?使用 Domain IP Lookup 工具。