直接指向 DNS 与反向代理
已发表: 2023-01-18启动新网站时,最好将 DNS 直接指向您的 Web 主机,还是使用反向代理?
这将取决于多种因素,包括您的新网站上线的速度、同一 URL 是否用于多个主机上的网站和应用程序,以及您公司 IT 部门的要求。
目录
- 直接指向 DNS 与使用反向代理
- 准备指向 DNS 以进行站点迁移
- 下一步
但首先,让我们从基础开始。
直接指向 DNS 与使用反向代理
直接指向 DNS 和反向代理都可以将流量路由到您的网站,但每个选项都有理想的用例。
什么是域名系统?
域名系统 代表域名系统。 每个网站都有两个地址:
- 人们使用的文本地址(例如,example.com)
- Web 浏览器和网络理解的数字地址(例如,123.4.56.78)
DNS 将这两个地址联系在一起。 当有人在浏览器中键入“example.com”时,浏览器知道将它们发送到哪个数字位置——而不是必须通过数字字符串连接网站(就像在互联网的早期)。
DNS 引导所有网站的流量,但有时在 DNS 和 Web 访问者之间存在反向代理层。
什么是反向代理?
反向代理充当网络流量的中介“大厅监视器”。 它是位于托管您网站的 Web 服务器之前的服务器。 您可以将 DNS 指向您的代理服务,而不是直接将您的 DNS 指向您的网络主机,然后代理服务会将您网站的访问者引导至您的网络主机。
您应该直接指向 DNS 还是使用反向代理?
反向代理可以处理比 DNS 更复杂的路由。 例如,如果您希望来自 example.com 的访问者转到一个特定 Web 主机上的站点,但 example.com/blog(子目录)的访问者转到另一台主机上的站点,您需要一个反向代理。
注意:子域(例如 subsite.example.com)可以使用直接指向的 DNS 进行处理。
反向代理可以提供超出大多数 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,请在启动前注意以下两点:
过去,大多数 DNS 使用“A 记录”指向,其中 A 代表地址。 如果您使用的是 A 记录,请尽快找出新站点的 IP 地址,以便您的系统管理员为发布日做好准备。
根据您的 DNS 注册商,您可能有 A 记录以外的选项来指向 DNS,例如 ALIAS、ANAME 或 CNAME。 这些类型的记录指向您的网络主机拥有的文本 URL,而不是 IP 地址。 这通常是比 A 记录更好、更永久的指向 DNS 的方法,因为您的网络主机的 IP 地址可能会随着时间而改变。
准备指向站点迁移的反向代理
反向代理往往是那些“单点故障”之一,它可以将顺利的发布变成一个艰难的发布,因此要预留大量的测试时间——最好是在发布前几周。
反向代理需要什么样的配置?
在启动之前,您的开发团队和系统管理员需要配置几项内容。 根据您的站点和代理的独特设置,您的配置步骤可能包括:
- 设置反向代理应将流量定向到的来源(确保人们访问您的站点)。 这通常是仅对网络托管公司可见的基于文本的链接。
- 根据 Web 主机的要求为 Host HTTP、True-Client-IP HTTP 和 X-Proxy-Verification 设置请求标头。
- 转发域的 .well-known/acme-challenge/* 路由,或为域安装自定义 TLS 证书。
- 允许您的网络托管服务商的支持技术人员访问站点。
- 为面向公众的 URL 设置 DNS。
- 为您的团队和网络托管服务商记录反向代理的详细信息。
详细了解 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 和反向代理的更多信息。