直接指向 DNS 与反向代理

已发表: 2023-01-18

启动新网站时,最好将 DNS 直接指向您的 Web 主机,还是使用反向代理?

这将取决于多种因素,包括您的新网站上线的速度、同一 URL 是否用于多个主机上的网站和应用程序,以及您公司 IT 部门的要求。

目录

  • 直接指向 DNS 与使用反向代理
  • 准备指向 DNS 以进行站点迁移
  • 下一步

但首先,让我们从基础开始。

直接指向 DNS 与使用反向代理

直接指向 DNS 和反向代理都可以将流量路由到您的网站,但每个选项都有理想的用例。

什么是域名系统?

域名系统 代表域名系统。 每个网站都有两个地址:

  1. 人们使用的文本地址(例如,example.com)
  2. Web 浏览器和网络理解的数字地址(例如,123.4.56.78)

DNS 将这两个地址联系在一起。 当有人在浏览器中键入“example.com”时,浏览器知道将它们发送到哪个数字位置——而不是必须通过数字字符串连接网站(就像在互联网的早期)。

DNS 引导所有网站的流量,但有时在 DNS 和 Web 访问者之间存在反向代理层。

什么是反向代理?

反向代理充当网络流量的中介“大厅监视器”。 它是位于托管您网站的 Web 服务器之前的服务器。 您可以将 DNS 指向您的代理服务,而不是直接将您的 DNS 指向您的网络主机,然后代理服务会将您网站的访问者引导至您的网络主机。

反向代理映射的图形表示,从客户端计算机引导到 Internet,并在到达服务器之前被反向代理停止。

您应该直接指向 DNS 还是使用反向代理?

反向代理可以处理比 DNS 更复杂的路由。 例如,如果您希望来自 example.com 的访问者转到一个特定 Web 主机上的站点,但 example.com/blog(子目录)的访问者转到另一台主机上的站点,您需要一个反向代理。

注意:子域(例如 subsite.example.com)可以使用直接指向的 DNS 进行处理。

WordPress 多站点适合您吗?

反向代理可以提供超出大多数 Web 主机提供的安全性、性能和稳定性改进,但它们的设置比直接指向 DNS 更复杂。 此表是一个高级比较,可帮助您与公司的 IT 团队就哪种选项最适合您的网站进行对话。

如果……直接指向 DNS 如果……使用反向代理
您将所有内容托管在一个网络主机上,和/或仅使用根域 (example.com) 或子域 (subdomain.example.com)。 您的主要网站位于一个网络主机上,而您的博客位于另一个网络主机上,而博客是您的主要网站 URL(例如,example.com/blog)的子目录。
您需要快速迁移站点,但没有时间或资源在启动前配置和测试代理设置。 您有足够的时间来测试和启动代理设置。
您没有特定的安全或性能问题,因为您正在迁移到非常安全、可扩展、高性能的主机(例如 WordPress VIP)。 您的虚拟主机没有提供足够的安全性、性能或可扩展性。
您网站 URL 的所有流量都流向同一个地方。 您的网站和移动应用程序都使用相同的 URL,您需要一些东西来相应地引导流量。
你的主机有一个内置的 CDN(比如 WordPress VIP)。 您想要使用内容分发网络 (CDN),但您当前的虚拟主机不提供内置 CDN。

准备指向 DNS 以进行站点迁移

如果您要将网站迁移到新主机,启动计划的一部分将涉及将 DNS 或反向代理指向新主机。 指向 DNS 几乎总是比指向代理更容易,后者需要额外的步骤。

注意:在网站迁移过程的早期与您的系统管理员密切合作,以确定将您的域指向新主机的确切要求。 请在临近发布日时回来查看,以确保您的资源在正确的时间对准 DNS 或代理。

如果您直接指向 DNS,请在启动前注意以下两点:

1. DNS 在发布当天需要指向哪里?

过去,大多数 DNS 使用“A 记录”指向,其中 A 代表地址。 如果您使用的是 A 记录,请尽快找出新站点的 IP 地址,以便您的系统管理员为发布日做好准备。

2、DNS需要怎么指向?

根据您的 DNS 注册商,您可能有 A 记录以外的选项来指向 DNS,例如 ALIAS、ANAME 或 CNAME。 这些类型的记录指向您的网络主机拥有的文本 URL,而不是 IP 地址。 这通常是比 A 记录更好、更永久的指向 DNS 的方法,因为您的网络主机的 IP 地址可能会随着时间而改变。

准备指向站点迁移的反向代理

反向代理往往是那些“单点故障”之一,它可以将顺利的发布变成一个艰难的发布,因此要预留大量的测试时间——最好是在发布前几周。

反向代理需要什么样的配置?

在启动之前,您的开发团队和系统管理员需要配置几项内容。 根据您的站点和代理的独特设置,您的配置步骤可能包括:

  1. 设置反向代理应将流量定向到的来源(确保人们访问您的站点)。 这通常是仅对网络托管公司可见的基于文本的链接。
  2. 根据 Web 主机的要求为 Host HTTP、True-Client-IP HTTP 和 X-Proxy-Verification 设置请求标头。
  3. 转发域的 .well-known/acme-challenge/* 路由,或为域安装自定义 TLS 证书。
  4. 允许您的网络托管服务商的支持技术人员访问站点。
  5. 为面向公众的 URL 设置 DNS。
  6. 为您的团队和网络托管服务商记录反向代理的详细信息。

详细了解 WordPress VIP 的反向代理配置。

如何测试反向代理

在启动您的网站之前彻底测试您的代理配置,以确认流量将成功到达您的新网站。 这通常是通过您的网络主机上的测试 URL 和非生产环境来完成的。

运行 cURL 命令

如果您需要有关流量目的地的详细信息来诊断代理配置问题,请运行 cURL 命令(URL 的客户端)。 这可以在终端 (Mac)、Windows 命令提示符 (PC) 或命令行 (Linux) 中完成。

该命令类似于:

 curl -I https://example.com/blog/

对该命令的响应应包括您的主机发送的标头,以及代理服务器发送的标头。

更新主机文件

另一种测试方法包括更新您的主机文件。 主机文件是计算机上的一个文本文件,其中列出了 IP 地址和 URL。

更新主机文件以告诉您的计算机查看 DNS 指向的网站以外的网站。 通过使用站点的 URL 和 Web 主机的 IP 地址更新主机文件,您可以确定在绕过反向代理时站点是否按预期显示。 如果是,则问题出在代理级别,而不是您的虚拟主机级别。

下一步

最终,您网站的独特需求将决定网站启动时引导流量的最佳方式。 在网站开发过程的早期开始与您的系统管理员进行这些对话,以便您可以有效地规划配置要求和测试时间。

如果您要迁移到 WordPress VIP,请咨询您的技术客户经理以获得建议。

在 WordPress VIP 广泛的文档库中了解有关 DNS 和反向代理的更多信息。