本文介绍Windows实例内部自定义域名解析与本地网络域名解析不一致导致无法访问网站的问题描述、问题原因和解决方案。
问题描述
在Windows实例内部通过浏览器无法访问某网站,但在其他设备上可以正常访问,排查发现Windows实例内部自定义域名解析与本地网络域名解析不一致,具体说明如下:
-
在Windows实例内访问失败,但是使用本地电脑可以正常访问该网站。
浏览器显示
ERR_CONNECTION_TIMED_OUT错误,提示网站响应时间过长。 -
登录Windows实例,然后在Windows实例内部的命令提示符中执行
ping 网站域名和nslookup 网站域名命令,发现在Windows实例内部自定义域名解析与本地网络域名解析不一致,如下所示:Microsoft Windows [版本 10.0.17763.3770] (c) 2018 Microsoft Corporation。保留所有权利。 C:\Users\Administrator>ping www.xxx.com 正在 Ping www.xxx.com [192.xxx.22] 具有 32 字节的数据: Control-C ^C C:\Users\Administrator>nslookup www.xxx.com 服务器: UnKnown Address: 100.xxx.136 非权威应答: 名称: www.xxx.com xxx Addresses: xxx::3f9 xxx::3fa xxx.244 xxx.243 Aliases: www.xxx.com C:\Users\Administrator>
问题原因
Windows实例内部和本地域名解析的IP地址不一致的可能原因如下:
-
Windows操作系统中存在DNS(Domain Name Server,简称DNS)解析缓存。此时,您需要刷新DNS解析缓存后重新访问网站,具体操作,请参见刷新DNS解析缓存。
-
Windows操作系统的hosts文件中已存在该网站绑定的配置。此时,您需要删除hosts文件中绑定的配置后重新访问网站,具体操作,请参见删除hosts文件配置。
-
专有网络VPC类型的Windows实例内针对该域名配置了PrivateZone记录。此时,您需要修改Windows实例的相关记录后重新访问网站,具体操作,请参见修改内网DNS解析(PrivateZone)记录。
解决方案
本文操作以Windows Server 2019 数据中心版 64位中文版操作系统为例,其他版本的Windows操作系统可参考本文操作步骤进行修改。
刷新DNS解析缓存
-
远程连接Windows实例。
具体操作,请参见选择ECS远程连接方式。
-
清空Windows操作系统中的DNS解析缓存。
-
在搜索栏输入
cmd,然后单击命令提示符。 -
在命令提示符中,执行
ipconfig /flushdns命令,清空DNS解析缓存。C:\>ipconfig /flushdns Windows IP 配置 已成功刷新 DNS 解析缓存。
-
-
在命令提示符中,执行
ping 网站域名命令,查看域名解析是否正常。如下域名解析恢复正常。以下为域名解析正常时的返回示例,其中解析到的IP地址被红框标注,表示域名已成功解析。
C:\>ping www.xxx.com 正在 Ping www.xxx.com.xxx [115.xxx.xxx.253] 具有 32 字节的数据: 来自 115.xxx.253 的回复: 字节=32 时间=39ms TTL=101 来自 115.xxx.253 的回复: 字节=32 时间=39ms TTL=101 来自 115.xxx.253 的回复: 字节=32 时间=38ms TTL=101 来自 115.xxx.253 的回复: 字节=32 时间=41ms TTL=101 115.xxx.253 的 Ping 统计信息: 数据包: 已发送 = 4, 已接收 = 4, 丢失 = 0 (0% 丢失), 往返行程的估计时间(以毫秒为单位): 最短 = 38ms, 最长 = 41ms, 平均 = 39ms -
重新使用浏览器访问网站。
删除hosts文件配置
-
远程连接Windows实例。
具体操作,请参见选择ECS远程连接方式。
-
清除Windows操作系统的hosts文件中该网站绑定的配置。
打开
C:\Windows\System32\drivers\etc\hosts文件,查看是否存在该网站的配置,如果存在,则您需要删除该配置后保存文件。在 hosts 文件中找到并删除类似192.xxx.xxx.22 www.xxx.com的网站绑定条目。hosts 文件内容示例:# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.xxx.xxx.xxx rhxxx.xxx com # source server # 38.xxx.xxx.xxx x.xxx com # x client host # localhost name resolution is handled within DNS itself. 127.0.0.1 localhost 192.xxx.xxx.22 www.xxx.com -
在命令提示符中,执行
ping 网站域名命令,查看域名解析是否正常。域名解析恢复正常。
-
重新使用浏览器访问网站。