WordPress 的 DNS:您需要知道的一切
已发表: 2023-04-19域名系统 (DNS) 对于网络的运行至关重要。 简而言之,它将请求的域名转换为 IP(互联网协议)地址——计算机使用它来查找网站、发送电子邮件以及在网络上进行的许多其他活动。
了解 DNS 的工作原理及其配置(无论您是要添加 DNS 记录还是编辑现有记录)都可以帮助您更好地管理 WordPress 站点。
目录
- 术语定义
- 什么是域名系统?
- DNS 的工作原理
- 第一步:请求域名的IP地址
- 第 2 步:递归 DNS 服务器请求域的名称服务器
- 第 3 步:递归 DNS 服务器请求名称服务器解析 FQDN
- 第 4 步:递归 DNS 服务器回复 IP 地址。
- 第 5 步:您的设备连接到 Web 服务器
- 您需要了解的 DNS 记录
- 一个记录
- CNAME记录
- MX记录
- NS记录
- TXT记录
- DNS 记录是什么样的?
- 何时访问您的 DNS 记录
- 如何管理 WordPress 网站的 DNS 记录
- 面板
- 托管商
- 去吧爸爸
- WP引擎
- 金斯塔
- DNS 工具和查询
- Nslookup 和 Dig DNS 工具
- 使用 Dig 查询 DNS 服务器
- 来自 DNS 服务器的权威和非权威答案
- 查找域的名称服务器
- 查询不同的 DNS 服务器
- 使用 DNS 工具查找域的邮件服务器
- DNS 工具的其他用途
- 检查 DNS 传播
- Nslookup 和 Dig DNS 工具
- 常见问题 – 常见问题
- 如何在 WordPress 中设置 DNS?
- 如何将 DNS 指向 WordPress?
- 子域和子目录有什么区别?
术语定义
在本文中,我们将引用某些技术术语和缩写,其中一些可能不是日常用语的一部分。 因此,我们认为包含一个简短的部分来简要解释这些术语的含义可能会有用。
- TLD :顶级域名。 示例 .com
- URL :统一资源定位器——资源的全名,包括 TCP/IP 信息。 示例 www.melapress.com
- FQDN :完全限定的域名 – 包括主机名、域和 TLD 的完整域名。 示例 www.melapress.com
- 域名:域名示例 melapress.com
- TCP/IP :传输控制协议/互联网协议。 设备通过网络(例如 Internet)进行通信所使用的主要协议(语言)。
- 注册商:您注册域名的公司。
- 托管服务提供商:为您的 WordPress 网站提供托管服务的公司。
什么是域名系统?
我们在网络上访问的资源,无论是互联网还是我们的家庭/办公室网络,都需要一个地址。 这个地址允许我们找到那些资源。 资源可以包括电子邮件服务器、Web 服务器、网络打印机等。
该地址称为 IP 地址,由互联网的主要语言 TCP/IP 协议定义。 地址由 0 到 255 之间的四个数字组成,每个数字由句号分隔:
192.0.2.0
203.0.113.0
记住这些数字可能很困难,这就是我们通常使用 URL 的原因。 像 www.melapress.com 和 www.google.com 这样的 URL 比一串数字更容易记住。
即使我们使用 URL,计算机仍然需要 IP 地址来找到我们想要访问的资源。 这就是 DNS 的用武之地。DNS 通过引用其查找表将我们键入的 URL 转换为 IP 地址。 作为 WordPress 管理员或网站所有者,您需要确保您的 DNS 服务器配置正确,以允许访问者和客户找到您。
DNS 的工作原理
在我们进入 DNS 记录之前,值得花一些时间了解 DNS 的工作原理。 虽然当您深入了解 DNS 时,它可能会变得稍微复杂一些,但原则上,它非常简单。
我们将通过一个例子来说明这一点——访问 www.melapress.com
第一步:请求域名的IP地址
一旦您在浏览器的地址栏中输入 URL www.melapress.com,您的计算机或智能手机就会向 DNS 服务器发送请求,询问 www.melapress.com 的 IP 地址。
初始请求会发送到您设备上配置的 DNS 服务器。 通常,这由您的路由器或 ISP 分配,并在连接到网络时自动配置,由 DHCP 分配。
极客注意:在向 DNS 服务器发送请求之前,您的计算机首先检查主机文件。 此文本文件将域与 IP 地址映射,使它们成为硬编码。 这主要用于环回地址,即 127.0.0.1,但允许将任何 IP 分配给任何域。
第 2 步:递归 DNS 服务器请求域的名称服务器
网络和 ISP DNS 服务器被称为递归 DNS 服务器,因为它们不存储域数据。 相反,他们会将您的查询转发给其他 DNS 服务器,这些服务器会发回答案(所请求网站的 IP 地址)。
递归 DNS 服务器(您的设备联系的 DNS 服务器)联系层次结构中更高层的其他 DNS 服务器(例如根服务器)以获取域 melapress.com 的名称服务器 (NS) 的 IP 地址。 名称服务器 (NS) 是保存域信息的 DNS 服务器。
每个域都有一个或多个名称服务器 (NS)。 每当 DNS 服务器需要解析其负责的域的 IP 地址时,持有 NS 记录的 DNS 服务器就会回答该查询。 您在购买域时为域配置名称服务器 (NS)。
第 3 步:递归 DNS 服务器请求名称服务器解析 FQDN
在此阶段,您的设备联系的递归 DNS 服务器具有您要浏览的域的名称服务器列表。 因此,它向其中一台服务器发送请求,以将 FQDN www.melapress.com 解析为 IP 地址。 DNS 服务器检查其 A 记录并使用 IP 进行应答。 在这种情况下,它是 192.124.249.168。
第 4 步:递归 DNS 服务器回复 IP 地址
现在您的设备联系的递归 DNS 服务器具有 FQDN www.melapress.com 的 IP 地址,它会将其发送回您的设备。
第 5 步:您的设备连接到 Web 服务器
您的设备使用从递归 DNS 服务器收到的 IP 地址连接到 Web 服务器,并请求 www.melapress.com 上的页面。 Web 服务器通过发送数据进行响应,您的浏览器开始下载和呈现这些数据。
您需要了解的 DNS 记录
有八种不同类型的 DNS 记录——每一种都有自己的用途。 然而,作为 WordPress 管理员,有五个特别感兴趣的记录——我们将在下面详细讨论。
一个记录
A Record 代表地址记录。 它用于将 URL (www.melapress.com) 与 IP 地址相关联。
A 记录用于告诉 DNS 特定网站所在的位置。 本质上,它将 URL 指向网络服务器的 IP 地址。 在某些情况下,一个 A 记录可以分配多个 IP——例如在负载平衡或循环设置的情况下。
您应该至少有一个列出您的域的 DNS 记录。
CNAME记录
CNAME 代表规范名称记录。 它用于创建域别名,例如在设置子域时。 这方面的一个例子是使用指向 www.melapress.com 的 blog.melapress.com 的 CNAME 记录,或者创建一个子域,如 ftp.melapress.com,其 IP 与 www.melapress.com 相同
MX记录
MX 代表邮件交换。 MX 记录指定邮件服务器并用于路由电子邮件。 例如,如果您要向 [email protected] 发送电子邮件,您的邮件服务器必须查询 MX 记录以确定电子邮件需要发送到哪里。
这里需要注意的一点是,MX 记录也有一个优先级配置。 较低的数字表示较高的优先级。 优先级可用于配置备用邮件服务器,以防主邮件服务器出现故障。
NS记录
NS 代表名称服务器。 NS 记录指定哪个 DNS 服务器对特定域具有权限。 该记录实质上是告诉其他 DNS 服务器,它们已到达特定域的权威 DNS 服务器。
您的域的权威 DNS 服务器中应该至少有一个 NS 记录。 在大多数情况下,出于冗余目的,您会有多个记录指向不同的权威 DNS 服务器。
TXT记录
TXT 代表文本。 TXT 记录最初是作为一个笔记存储空间,允许管理员在 DNS 服务器上保存任何类型的笔记——希望与 DNS 有关,而不是他们的购物清单。
第三方也使用 TXT 记录来验证域所有权。 在这里,您需要添加特定的 TXT 记录以确认您拥有该域,例如在配置 Google Analytics 时。 许多协议也使用 TXT 记录,例如 SPF 和 DKIM,它们分别是电子邮件反垃圾邮件和身份验证协议。
DNS 记录是什么样的?
DNS 记录必须包含基本信息,使计算机能够理解它是什么以及它指的是什么。 了解此信息的含义可以帮助您配置自己的记录。
- 记录名称:记录的域名
- 记录类型:记录的类型(例如,A 记录)
- TTL(生存时间):记录有效的秒数。 一旦达到 TTL,就需要刷新记录。 刷新由 DNS 服务器自动完成。
- IP/Host:记录的IP地址或主机名
何时访问您的 DNS 记录
作为 WordPress 管理员管理 DNS 并不是您每天都需要做的事情。 在大多数情况下,您需要在以下情况下管理记录:
- 首次设置 WordPress/注册新域
- 设置 Google Analytics 和 Hotjar 等服务
- 更改托管服务提供商
- 获取 CDN 服务(例如 Cloudflare)
如何管理 WordPress 网站的 DNS 记录
您的 DNS 记录通常保存在;
- 您的注册商
- 您的托管服务提供商
- 域名服务商
- 您自己的 DNS 服务器
– 取决于您的环境是如何配置的。 这可能会因您的设置而异——但在大多数情况下,注册商和 WordPress 托管服务提供商是同一家。 在这种情况下,您会在一个地方找到所有内容。 遗憾的是,没有可用的 DNS 管理插件。
在本节中,我们将介绍在多个平台上管理 DNS 的教程。
面板
CPanel 是一个后端管理系统,堪称黄金标准,被许多服务提供商使用。 任何担任 Web 管理员的时间足够长的人肯定都与这个平台有过交集。 例如,GoDaddy 和许多其他托管计划一样,将 CPanel 与它的一些托管计划一起使用。
在 CPanel 中,DNS 记录通过域 > 区域编辑器进行管理。 只需单击要为其创建或编辑 DNS 记录的域名旁边的管理。
要添加新记录,请单击“添加记录”按钮。 要编辑现有记录,请单击要编辑的 DNS 记录旁边的编辑按钮。 完成后记得点击保存记录。
托管商
Hostinger 是一家在全球拥有数据中心的注册商和托管服务提供商。 他们使用 hPanel——一个由 Hostinger 自己设计的自定义控制面板。 如果您需要,他们会在其网站上提供大量文档。
要通过 Hostinger 管理 DNS 记录,请导航至域,然后单击您要为其管理 DNS 记录的域旁边的箭头。 接下来,在侧边栏中找到 DNS/Nameservers 并单击。
根据您的 DNS 设置方式,您会看到不同的选项。 如果 Hostinger 不是您的注册商,您将在外部域下找到可用选项。 如果您的域是通过 Hostinger 购买的,您会找到 DNS 记录选项。 可以从这里管理 DNS 记录。
去吧爸爸
GoDaddy 是一家提供域注册和托管等服务的服务提供商。 他们通过他们的帐户页面提供 DNS 管理,使其易于配置。
要使用 GoDaddy 管理 DNS 记录,首先单击“我的产品”,转到“域”选项卡,然后单击“全部管理”。 单击“管理”列中的省略号 (...),然后单击“管理 DNS”。
WP引擎
WPEngine 是一个 WordPress 托管服务提供商。 您可以在“DNS 详细信息”选项卡中找到 DNS 设置,您可以通过导航到“域”然后从用户门户访问“DNS 详细信息”来访问这些设置。
金斯塔
Kinsta 是一个提供托管服务的云平台。 DNS 通过 MyKinsta 进行管理。 首次设置 DNS 时,您需要单击 DNS 选项卡中的“添加您的第一个域”选项。 这将为您创建一个 DNS 区域,它还允许您添加其他域。
DNS 工具和查询
DNS 配置中的一个小错误可能会导致大问题——人们将无法访问您的网站或向您发送电子邮件。 在本节中,我们将介绍如何使用 nslookup、dig 和其他 DNS 工具来测试您的 DNS 设置。
Nslookup 和 Dig DNS 工具
Nslookup 和 Dig 都是许多操作系统上的命令行工具。 这些工具用于向 DNS 服务器发送查询。 Nslookup 更受 Windows 用户欢迎,而 Dig 更受 Mac OS 和 Linux 用户欢迎。 两者都使用相似的查询和命令。
使用 Dig 查询 DNS 服务器
您可以发送到 DNS 服务器的最基本的 DNS 查询是将域名解析为 IP 地址。 默认情况下,Dig 和 Nslookup 都会查询 A 记录,因此只需在命令行中键入以下内容即可获得答案:
- Linux/Mac:挖 www.melapress.com
- Linux/Windows: nslookup www.melapress.com
下面是 nslookup 命令的屏幕截图和服务器的响应:
以下是响应的细分:
- 服务器:172.64.36.1是我们查询并发送响应的DNS服务器的IP地址。
- 地址:172.64.36.1#53是DNS服务的IP地址和端口号。
- 名称:www.wpwhitesecurity.com是我们查询的域名。
- 地址:162.159.135.42是域名www.wpwhitesecurity.com所在的IP地址。 这就是我们正在寻找的记录。
来自 DNS 服务器的权威和非权威答案
您是否注意到 DNS 服务器响应中的文本“非权威答案”? 也就是说,您查询的服务器不是wpwhitesecurity.com域名的权威域名服务器。 这意味着我们收到的答案是缓存或转发的响应。
要获得权威服务器的响应,您必须找到域的名称服务器(NS 记录)并直接查询它们。 我们将在下面的示例中执行此操作。
查找域的名称服务器
域的名称服务器是保存域的 DNS 区域(该域的主要授权机构)的服务器。 这些是您在注册新域时指定的服务器。
要查找域的名称服务器,请使用以下命令:
挖 [domain_name] NS
NS 是我们想知道的 DNS 记录类型。 所以要查找域 wpsecurityauditlog.com 的 NS(名称服务器)记录,命令应该是:
挖 www.wpsecurityauditlog.com NS
下面是一个屏幕截图,其中突出显示了请求和答案中的重要部分:
作为响应的一部分,您可以看到我们发送了一个查询 ( QUERY:1 ) 并得到了四个答案 ( ANSWER: 4 )。
这是域 wpwhitesecurity.com 的四个名称服务器的列表。 在此部分中,您还可以看到每条记录的生存时间 (TTL) 值,即 300。
查询的技术细节,例如服务器响应时间、发送时间、消息大小等。
查询不同的 DNS 服务器
默认情况下,Dig 或 Nslookup 工具将查询发送到设备网络接口上配置的 DNS 服务器。 通常这是 ISP 的 DNS 服务器、Web 主机或您所连接的网络。 因此,如果您想要有关特定记录或 FQDN 的权威答案,您必须直接查询名称服务器。 为此,请使用以下命令格式:
挖掘@[服务器] [域]
由于我们现在知道域 wpsecurityauditlog.com 的名称服务器,我们可以直接查询其中之一。 在本例中,我们正在查询 162.88.61.47,这是 ns1cvw.name.com 名称服务器的 IP 地址。 我们希望服务器解析 FQDN www.wpwhitesecurity.com 的 IP 地址。 命令是:
挖@163.114.216.17 www.wpwhitesecurity.com
这是来自服务器的响应:
这是服务器的回答。 FQDN wpwhitesecurity.com 解析为 IP 地址 162.159.135.42。
使用 DNS 工具查找域的邮件服务器
当您向 [email protected] 发送电子邮件时,您的邮件服务器会发送 DNS 请求以查找 wpsecurityauditlog.com 域邮件服务器的 IP 地址。 DNS 上的邮件服务器记录是 MX 记录,也称为邮件交换器记录。 要查找域的 MX 记录,请使用以下命令格式:
挖掘 [域] [MX]
以下是 DNS 服务器对 dig wpwhitesecurity.com MX 命令的响应:
DNS 服务器的应答。
从回答中可以看出wpwhitesecurity.com这个域有3个邮件服务器。 每个邮件服务器记录前面的数字是服务器的优先级。 数字越小,优先级越高。 这意味着当您向该域发送电子邮件时,首先,您的邮件服务器会尝试连接到 aspmx.l.google.com,因为它的优先级为 10。如果由于某种原因它不可用,那么服务器会尝试连接连接到下一个服务器,在本例中是优先级为 20 的服务器。
DNS 工具的其他用途
Dig 和 Nslookup DNS 工具可用于查询任何 DNS 服务器以获取任何类型的记录。 例如,您可以使用这些工具来检索域的 TXT 记录,这些记录通常由 SPF 和其他框架使用。 Dig 也有一个任意开关。 使用时,它会下载特定域的所有记录。
极客注意:如果您想了解有关 DNS 和不同类型记录的更多信息,请尝试获取 google.com 或 wikipedia.org 的记录。
检查 DNS 传播
为了最大限度地减少服务器之间的流量和请求,DNS 服务器会在生存时间 (TTL) 值中指定的时间内缓存 DNS 记录。 每条 DNS 记录的 TTL 以秒为单位指定,其作用类似于过期日期。
DNS 记录的 TTL 值越高,传播更改所需的时间就越长,因为 DNS 服务器缓存记录的时间更长。 另一方面,较低的 TTL 值意味着 DNS 记录更改将传播得非常快。 但是,较低的 TTL 值也意味着 DNS 解析请求数量的增加。
您应该为 DNS 记录设置较高的 TTL 值,例如 86,400 秒(24 小时)。 当您计划更改 DNS 记录时,请仅使用较低的值,例如 3,600 秒(1 小时)。 只要您在更改前几天或几周降低 TTL,更改就会在相当长的时间内传播。
您可以使用免费的在线工具 What's My DNS 检查是否已传播 DNS 记录更改。 要运行测试,只需输入记录并通过单击齿轮配置预期结果。
常见问题 – 常见问题
如何在 WordPress 中设置 DNS?
DNS 不是在 WordPress 中设置的,而是通过您的名称服务器提供商设置的,通常是您的注册商或托管服务提供商。 由于提供商通常拥有专有后端,因此没有一种程序对每个人都是一样的。
在我们的文章中,我们研究了一些知名的服务提供商,并提供了有关如何通过它们管理 DNS 的一般说明。 大多数提供商都提供 DNS 设置文档,因此请务必查看提供商的网站以获取更多信息。
如何将 DNS 指向 WordPress?
要将 DNS 指向您的 WordPress,您需要向您的托管服务提供商设置 A 记录。 这让 DNS 服务器知道在哪里可以找到您的网站。
查看您的托管服务提供商的文档以获取有关如何执行此操作的更多信息,因为该过程因提供商而异。
子域和子目录有什么区别?
子域是域的子对象。 以 WP White Security 为例,blog.wpwhitesecurity.com 是 wpwhitesecurity.com 的子域。 另一方面,子目录只是域的子目录,使用上面的示例,它看起来像 wpwhitesecurity.com/blog