在 Windows 10/11 上本地测试网站,无需更改 DNS
本文将探讨如何在 Windows 10/11 系统上编辑 hosts 文件,以便在不直接修改 DNS 设置的情况下,对网站进行本地测试。
hosts 文件本质上充当一个本地 DNS 服务器。在深入了解细节之前,我们不妨先来看一个关于杰克的案例,这将有助于我们理解它的重要性。
杰克是加拿大一家电子商务公司的网站管理员。他被要求确保网站顺利地迁移到新的网络主机。
他出色地完成了迁移工作。然而,网站上线后不久,他们发现一个严重问题:大量产品图片丢失。尽管他们迅速解决了这个问题,但这次事故还是导致了数千美元的收入损失,最终杰克因此失去了工作。
那么,杰克究竟错在哪里呢?他的失误在于,在更新 DNS 记录之前,他没有执行一个简单却至关重要的步骤——测试新网站。
什么是 Hosts 文件?
杰克本可以通过在 Windows 电脑的 hosts 文件中添加一行记录来避免这次危机。例如,可以添加类似如下的条目:
241.32.87.165 域名.com
这样,他就可以在不影响现有在线商店的情况下,提前检查迁移后的网站是否运行正常。
hosts 文件存储着计算机在查询 DNS 服务器之前会优先检查的本地 DNS 记录。它的主要目的是实现更快的连接,同时减少延迟。
Hosts 文件的工作原理
让我们再举一个例子来帮助理解:
假设你想去一家新开的超市,却不确定它的确切名称和地址。你可以暂时不用 Google 搜索,而是询问你的兄弟(相当于 hosts 文件)或邻居(相当于 DNS 服务器)。
询问邻居(DNS 服务器)可能会花费更多的时间(延迟),而询问兄弟(hosts 文件)则更快。
类似地,当我们输入一个域名(比如 techblik.com)时,我们的计算机需要将域名解析为对应的 IP 地址才能在浏览器中加载网站。
首先,计算机会在本地 hosts 文件中查找。如果找不到所需信息,才会向外部 DNS 服务器发出请求。
外部 DNS 服务器会将域名与 IP 地址匹配,然后返回响应。最后,我们才能看到网站被成功加载。
通过编辑 hosts 文件,我们可以让本地计算机误认为迁移后的网站是真实存在的。这样可以避免我们的电脑与 DNS 服务器之间进行额外的查询。
因此,当我们访问该网站时,它会从 hosts 文件中指定的 IP 地址加载,而不是从域名注册商的 DNS 记录加载。
这有助于我们在网站正式上线之前,测试一切是否运行正常,从而避免出现像杰克一样的失误。
如何在 Windows 上编辑 Hosts 文件
hosts 文件位于 C:\Windows\System32\drivers\etc
目录下。
尽管它没有文件扩展名,但你可以使用任何文本编辑器打开并进行编辑。不过,整个过程稍显复杂。
你需要先用记事本打开该文件,进行必要的修改,然后将其保存到其他位置,删除原始文件,最后再将修改后的文件移回原处。
下面介绍一种更便捷的方法:
首先,以管理员身份启动记事本。
然后在“文件”菜单中,选择“打开”,并将文件类型改为“所有文件”。之后,浏览到 hosts 文件所在的目录:
选择“所有文件(*.*)”选项,因为该文件夹中并没有常见的文本文件,所以默认情况下会显示为空。
接下来,选择 “hosts” 文件并单击“打开”。
编辑 hosts 文件时,需要在文件中输入你要测试的网站域名及其对应的服务器 IP 地址,如下所示:
请确保不要添加 #
符号,因为它会将该行变为无效的注释。
最后,按 Ctrl+S 保存更改并退出。
验证
现在,你可以访问该网站,并检查是否存在任何问题。
但如何确定网站是从新的服务器加载的,而不是从原始的服务器加载的呢?
要验证并检查新的网址是否生效,你需要先关闭浏览器。
然后,打开命令提示符并输入 ipconfig/displaydns
命令。
此时,你会看到域名及其对应的 IP 地址。其中,A(主机)记录会显示你的 hosts 文件中添加的记录。
displaydns
命令输出的列表可能很长。你可以使用 ipconfig/flushdns
命令清除现有的 DNS 缓存。这是一个简单且无害的操作,你只需要打开命令提示符并输入该命令即可。
最后,重新打开浏览器,输入网址来访问你的测试网站。
虽然以上步骤并不复杂,但如果你不介意使用免费软件,还有一种更简单的方法。
Hosts 文件编辑器
市面上有一些专门的 hosts 文件编辑器,它们通常以安装程序或便携式应用程序的形式提供。这些工具操作直观,如果你需要频繁编辑 hosts 文件,会非常方便。
你可以在灰色的输入框中填写网站域名和对应的 IP 地址,然后单击顶部的“保存”按钮。请注意,一定要选中添加的记录,否则它们在 hosts 文件中会被视为注释。
如果你选择回到传统的编辑方式,可以删除该应用程序创建的文件。
这些文件包括 hosts.bak
、hosts.disabled
和一个归档文件夹。此外,在使用此类应用程序之前,建议先备份原始的 hosts 文件。
总结
编辑 Windows 中的 hosts 文件可以简化在更改 DNS 记录之前测试网站的过程。你可以使用记事本或其他文本编辑器来进行必要的修改,从而在本地计算机上进行测试。
虽然还有其他使用临时 URL 的方法,但这种方法有一些缺点,尤其是在你使用内容分发网络 (CDN) 时。
尽管文中截图使用的是 Windows 10,但这些操作在 Windows 11 中同样有效。
PS:了解 DNS 过滤的优势,以及它如何保护你的企业免受网络攻击。