网站或系统搬家前怎么提前验收?hosts 文件一行指到新服务器,不动 DNS 别人无感
公司网站要换服务器、OA 要升级新版,最怕的就是"一切过去才发现问题"。其实上线前的验收不用惊动任何人:Windows 里有个 hosts 文件,能让"只有你这台电脑"把域名解析到新服务器——你在本机把新站从头到尾点一遍,全公司其他人照常访问旧站,谁也不受影响。
先看懂:域名解析的"本地优先"
浏览器访问一个域名,系统并不是直接去问 DNS 服务器,而是先查本机的 hosts 文件:里面写了这个域名该到哪个 IP,就按它说的走;没写,才出门去问 DNS。这个文件的位置在 C:\Windows\System32\drivers\etc\hosts,纯文本,谁都能改。所谓"切测试环境",就是在这个文件里手动指定方向——DNS 完全不动,影响范围只有这一台电脑,这正是它适合做上线前验收的原因。
三步切换、一步回滚
第一步,用管理员身份打开记事本。开始菜单搜"记事本",右键选"以管理员身份运行";在记事本里"打开"该文件时,文件类型要选"所有文件",否则看不到没有扩展名的 hosts。
第二步,在文件末尾加一行,格式是"IP 空格 域名",例如:
192.168.10.50 oa.company.test
意思是这个域名先按这个 IP 走,保存即可。
第三步,刷新解析缓存。管理员命令行执行 ipconfig /flushdns,把之前查过的旧结果清掉,浏览器再访问,就直接落到新服务器上了。
验证完的回滚同样只有一步:把那一行删掉(或行首加 # 注释掉),保存,再刷一次缓存,一切如初。
两个必知的坑
一是浏览器的"安全 DNS"会绕过 hosts。不少浏览器默认开启安全 DNS(加密域名解析),等于绕开本机文件,你改了 hosts 却看不到效果——测试时先到浏览器设置里把它关掉,或者换一个没开这项的浏览器。二是动手前先留底。hosts 偶尔会被个别软件悄悄改过,出过不少"网站打不开查半天是它捣乱"的事故,改之前把原文件复制一份存成 hosts.bak,收工时一键还原。这套玩法还能用在"新系统先小范围试运行"上:给几台验收电脑各加一行,就是一个不动任何线上配置的临时灰度环境。
给客户做环境切换,我们动手前必先把原 hosts 另存一份(诚鑫致达科技的变更留底动作),验收不过,一分钟还原原样。
转给正在等上线的人:先在本机验收,再动 DNS,顺序别反。