Domain IP Lookup

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

访客

查询该域名

CDN 边缘节点

104.21.x.x

DNS 返回的就是它

源站服务器

真实 IP,从不暴露

基础设施与运维

什么是反向代理?DNS 与 Web 实用指南

4 分钟阅读

反向代理是代表一台或多台后端服务器接收请求,并将其转发到相应目的地的服务器。在访客看来,代理往往就是公共端点;浏览器并不会直接连接应用服务器。反向代理可以终止 HTTPS、按主机名或路径路由请求、均衡流量、缓存响应、压缩内容,并应用安全控制。DNS 通常会把公共主机名指向代理,或指向其前端由服务商管理的地址。随后,代理再用自己的路由配置去访问上游应用。

反向代理与正向代理

正向代理代表客户端行事:客户端通过它发送请求以访问外部服务,往往出于策略、隐私或网络访问方面的原因。反向代理代表服务器行事:外部客户端连接到它,由它把请求转发给后端服务。因此,单说“代理”这个词是有歧义的。在网站架构中,反向代理通常对外呈现公共服务端点,并隐藏后端池的细节。它可以在同一套基础设施上路由多个域名,并把不同的路径导向不同的应用,同时只保留一个公共连接点。

功能反向代理可能提供的帮助
TLS 终止在边缘处理证书和 HTTPS
路由根据主机或请求路径选择后端
负载分配在已配置的上游之间分发请求
缓存无需联系源站即可提供符合条件的响应
访问控制在转发之前应用请求规则

DNS 和反向代理解决的是连接的不同部分。DNS 把主机名映射到公共地址或别名。客户端一旦连接,代理就会根据 HTTP 主机信息、TLS 服务器名称指示以及自己的配置,来选择正确的服务。这就解释了为什么直接请求一个裸 IP 可能会显示默认页面或证书警告,即使域名本身工作正常:请求中可能没有包含预期的主机名上下文。同样,更改 DNS 并不会自动创建相应的代理路由,也不会自动申请证书。两层必须在主机名和目的地上保持一致。

代理造成故障的常见方式

域名可能解析正确,但反向代理指向了一个已失效的上游、使用了错误的端口,或拒绝了它未被配置去服务的主机名。如果边缘缺少有效证书,或加密的上游配置有误,就可能出现 TLS 故障。当后端过载或不可达时,代理也可能返回超时。反过来,如果 DNS 把客户端引向了错误的代理地址,一个健康的应用也会看起来不可用。请先记录 DNS 应答,再依次检查 HTTP 响应、TLS 连接、代理日志和后端健康状况。

  • 确认 DNS 指向预期的公共代理端点。
  • 核实代理中针对该域名有主机规则以及健康的上游。
  • 当 HTTPS 失败时,同时检查边缘和上游的 TLS 设置。
  • 利用代理日志来区分路由错误和应用错误。
  • 不要以为 IP 查询就能揭示后端服务器。

安全与运维边界

反向代理可以减少后端服务的直接暴露,但除非配置并维护了访问规则,它并不会自动成为安全边界。在架构允许的情况下,源站应当只接受来自预期路径的流量。管理界面在没有适当认证的情况下,不应放在公共路由上。请及时为代理软件打补丁,限制管理访问,并验证转发的头部,因为代理成了客户端和上游信息的可信解释者。请记录由哪个团队负责 DNS、代理规则、证书和后端,这样在事件响应中,就不会因为各组都以为是其他层的责任而陷入停滞。

关于公共边缘与后端之间的关系,请阅读什么是源站服务器。关于全球代理网络,请参阅 CDN 如何使用 DNS。公开的域名转 IP 检查可以确认 DNS 给出的地址,但反向代理的路由和应用的健康状况,则需要各自的运维检查。把这些职责分开,调试会更精确,也避免把一个地址结果误当作完整的基础设施诊断。

明确代理规则的归属

反向代理处在一个关键的交接点上,所以请记录由谁负责 DNS、主机路由、证书、上游定义和访问策略。一项变更可能在某一层是正确的,却仍因另一层没有更新而失败:DNS 指向了代理,但代理缺少虚拟主机;路由存在,但证书是为另一个名称签发的;或者上游是健康的,但防火墙拦截了代理所在的子网。请为每个生产主机名保留一张简单的路径图和一个已知正常的请求。在故障期间,请使用相同的请求时间戳或关联 ID,来比对公共 DNS 应答、代理访问日志、上游健康状况和应用日志。

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