当我尝试在 Amazon Lightsail 上访问我的网站时,收到如下错误:“curl: (6) Could not resolve host”(curl:(6) 无法解析主机)或“ERR_NAME_NOT_RESOLVED”。
简短描述
“curl: (6) Could not resolve host”(curl:(6) 无法解析主机)或“ERR_NAME_NOT_RESOLVED”错误表示您的浏览器或命令行工具无法解析您的网站域名。
解决方法
检查域注册
检查您的域是否已注册。运行以下 whois 命令:
whois your_domain
**注意:**将 your_domain 替换为您的域名。
如果输出显示域详细信息,则您的域已注册。
如果您收到“No match for domain 'example.com', your domain isn't registered,”(域“example.com”无匹配,您的域未注册,)之类的响应,则必须先注册您的域,然后才能继续执行后续步骤。
验证名称服务器
确保您的域配置正确的名称服务器。要检查与您的域相关联的名称服务器,请运行以下 dig 或 whois 命令:
dig your_domain NS
-或-
whois your_domain | grep "Name Server"
**注意:**将 your_domain 替换为您的域名。
如果名称服务器设置不正确或者您收到错误消息,请通过您的域注册商更新名称服务器。
检查问题是本地的还是全球性的
检查本地与全球性解决方法
确定问题是特定于您的本地计算机还是全球性问题。从其他网络或设备访问您的网站。如果网站加载,则问题出在您的本地网络或计算机配置中。
验证解析器配置
如果问题是本地的,请检查本地计算机上的 DNS 解析器配置。DNS 解析器将域名转换为 IP 地址。确保在您的计算机上配置的 DNS 服务器可以解析该 IP 地址。
要检查 Windows 中的 DNS 服务器设置,请在命令提示符下运行以下命令:
ipconfig /all
要检查 macOS 或 Linux 上的解析器配置,请打开 /etc/resolv.conf 文件并验证列出的 DNS 服务器。
如果配置的 DNS 服务器不正确或无响应,请对其进行更新或联系您的网络管理员寻求帮助。
要确定 DNS 解析过程失败的位置,请运行以下 dig +trace 命令:
dig +trace your_domain
**注意:**将 your_domain 替换为您的域名。
使用 dig +trace 命令执行递归 DNS 查询,并找到您为解析域而查询的 DNS 服务器路径。
TLD 故障
如果查询在 TLD 级别停止,则说明域名注册或名称服务器出现问题。运行 whois 命令以验证注册状态和名称服务器信息。
名称服务器故障
如果查询到达名称服务器但无法检索 A 记录(IP 地址),则有几个问题需要调查:
- 名称服务器上未配置您的域的 A 记录。
- 注册商处列出的名称服务器不正确或已过时。
- 名称服务器上没有为您的域配置托管区。
要检查名称服务器是否有 A 记录,请运行以下命令:
dig your_domain @nameserver_ip
**注意:**将 your_domain 替换为您的域名。将 nameserver_ip 替换为您的名称服务器的 IP 地址。
如果输出显示您的域的正确 IP 地址,则说明问题与名称服务器无关。
更新名称服务器或注册域
检查主机文件中是否有名称服务器和注册域
本地计算机上的主机文件是将主机名映射到 IP 地址的静态文件。如果主机文件中您的域存在不正确的条目,则会导致解析错误。
**注意:**在 Windows 上,主机文件位于 C:\Windows\System32\drivers\etc\hosts。在 macOS 或 Linux 上,主机文件位于 /etc/hosts。
使用文本编辑器打开主机文件,然后检查您的域是否有条目。如果有条目,请验证其关联的 IP 地址是否正确。如果该条目不正确或不必要,则将其删除或注释掉。
如果域未注册或名称服务器不正确,请在注册商处注册域或更新名称服务器。
对于未注册的域,请完成以下步骤:
- 验证域名是否已注册。
- 输入您的托管服务提供商或 DNS 服务提供的名称服务器。
对于不正确的名称服务器,请完成以下步骤:
- 登录您的域注册商的 AWS 账户。
- 导航到域管理部分并找到名称服务器设置。
- 使用您的托管服务提供商或 DNS 服务提供的正确信息更新名称服务器。
- 保存更改,然后等待 DNS 更新在全球范围内传播(最多 48 小时)。
在名称服务器上配置 A 记录或在注册商处更新名称服务器记录
如果 dig +trace 输出到达名称服务器但无法检索 A 记录(IP 地址),请在名称服务器上配置 A 记录。或者,在注册商处更新名称服务器记录。
要在名称服务器 (Lightsail DNS) 上配置 A 记录,请完成以下步骤:
- 在 Lightsail 控制台中,导航到 Networking(网络)部分。
- 为您的域选择 DNS 区域。
- 选择 Add record(添加记录)。然后,使用您的域名和 IP 地址(例如您的 Lightsail 实例的公共 IP 地址)创建新的 A 记录。
- 保存更改,然后等待 DNS 更新在全球范围内传播(最多 48 小时)。
如果您使用自定义名称服务器(不在 Lightsail 上托管的名称服务器),请在您的域注册商处更新名称服务器记录。要在注册商处更新名称服务器记录,请完成以下步骤:
- 登录您的域注册商的 AWS 账户。
- 导航到域管理部分,然后找到名称服务器设置。
- 使用托管您的域的名称服务器的正确 IP 地址更新名称服务器记录。
- 保存更改,然后等待 DNS 更新在全球范围内传播(最多 48 小时)。
创建托管区并使用正确的 DNS 记录更新区域文件
dig +trace 输出可能会到达名称服务器,但无法检索 A 记录。检查名称服务器上是否为您的域配置了托管区。有关详细信息,请参阅创建 DNS 区域以管理 Lightsail 实例的域记录。
相关信息
如何使用 AWS CLI 命令管理我的 Lightsail 实例?
了解 Lightsail 中的 DNS