最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

Windows通过修改hosts文件配置本地DNS解析域名

业界 admin 9浏览 0评论

文章目录

  • 前言
  • 一、修改hosts文件
  • 二、刷新dns缓存(chrome)
    • 1.刷新系统DNS缓存
    • 2.刷新Chrome浏览器DNS缓存
  • 附:浏览器解析DNS的顺序


前言

近日一项目需要使用特定域名访问,但该域名为外网真实域名,已经有生产环境,不方便开发调试,因此希望在开发过程中将该域名临时解析为本机地址。过程记录如下,备忘。


一、修改hosts文件

修改c:\windows\system32\drivers\etc\hosts文件,增加一行

127.0.0.1 www.yourdomain

注:hosts文件保存时可能提示没有权限,在文件属性中修改权限,或另存到其他目录拷贝回来都可以,需要注意的是hosts文件没有扩展名。

二、刷新dns缓存(chrome)

1.刷新系统DNS缓存

在命令行窗口执行:

ipconfig /flushdns


新开一个cmd窗口,ping 目标域名,查看是否解析正确。

2.刷新Chrome浏览器DNS缓存

在Chrome地址栏输入:

chrome://net-internals/#dns

进入Chrome Net-internals界面。在这个页面有个Clear host cache的按钮,点击这个按钮就可以清除Chrome当前所保存的DNS缓存信息。清除缓存后,进行测试,看解析是否正确。

备注:如果点击清除按钮后,浏览器缓存仍旧存在,可以临时断掉网络,再次在浏览器中访问目标域名,可以使hosts中的解析生效。

附:浏览器解析DNS的顺序

1.浏览器DNS缓存查找:首先,浏览器会检查自己内部的DNS缓存,看是否有该域名的对应IP地址。如果有,直接使用缓存中的IP地址,跳过后续步骤。
2.本地系统DNS缓存查找?:如果浏览器的DNS缓存没有该域名的记录,接下来会查询操作系统的DNS缓存。如果本地系统缓存中有对应的IP地址记录,则使用该IP地址。
3.查询本地hosts文件:如果系统DNS缓存中没有该域名的记录,操作系统会检查本地的hosts文件(一般路径为/etc/hosts)。这个文件里可能有手动配置的域名与IP地址的对应关系。如果在hosts文件中找到对应记录,就直接使用。
4.向配置的DNS服务器发起查询?:如果前面的步骤都没有找到对应的IP地址,系统会将查询请求发往配置的DNS服务器,通常是ISP提供的本地DNS服务器,也可以是用户自己配置的公共DNS服务器,如Google DNS 8.8.8.8。
5.DNS服务器查询:DNS服务器会先检查自己的缓存,看是否已经有这个域名的解析结果。如果DNS服务器也没有缓存到这个域名的解析结果,它会发起递归查询,可能涉及根DNS服务器。
6.递归查询?:递归查询涉及向根域名服务器查询顶级域名(如、等)的授权服务器地址,然后向对应的顶级域名服务器查询该域名下一级的授权DNS服务器地址,最后向该域名的权威DNS服务器发出查询,获取最终的IP地址。
7.返回IP地址给客户端?:获取到IP地址后,DNS服务器将结果缓存一段时间,并返回给请求方(用户的操作系统)。操作系统缓存该IP地址,并将其返回给浏览器。浏览器接收到IP地址后,发起与该IP地址的HTTP/HTTPS连接。

文章目录

  • 前言
  • 一、修改hosts文件
  • 二、刷新dns缓存(chrome)
    • 1.刷新系统DNS缓存
    • 2.刷新Chrome浏览器DNS缓存
  • 附:浏览器解析DNS的顺序


前言

近日一项目需要使用特定域名访问,但该域名为外网真实域名,已经有生产环境,不方便开发调试,因此希望在开发过程中将该域名临时解析为本机地址。过程记录如下,备忘。


一、修改hosts文件

修改c:\windows\system32\drivers\etc\hosts文件,增加一行

127.0.0.1 www.yourdomain

注:hosts文件保存时可能提示没有权限,在文件属性中修改权限,或另存到其他目录拷贝回来都可以,需要注意的是hosts文件没有扩展名。

二、刷新dns缓存(chrome)

1.刷新系统DNS缓存

在命令行窗口执行:

ipconfig /flushdns


新开一个cmd窗口,ping 目标域名,查看是否解析正确。

2.刷新Chrome浏览器DNS缓存

在Chrome地址栏输入:

chrome://net-internals/#dns

进入Chrome Net-internals界面。在这个页面有个Clear host cache的按钮,点击这个按钮就可以清除Chrome当前所保存的DNS缓存信息。清除缓存后,进行测试,看解析是否正确。

备注:如果点击清除按钮后,浏览器缓存仍旧存在,可以临时断掉网络,再次在浏览器中访问目标域名,可以使hosts中的解析生效。

附:浏览器解析DNS的顺序

1.浏览器DNS缓存查找:首先,浏览器会检查自己内部的DNS缓存,看是否有该域名的对应IP地址。如果有,直接使用缓存中的IP地址,跳过后续步骤。
2.本地系统DNS缓存查找?:如果浏览器的DNS缓存没有该域名的记录,接下来会查询操作系统的DNS缓存。如果本地系统缓存中有对应的IP地址记录,则使用该IP地址。
3.查询本地hosts文件:如果系统DNS缓存中没有该域名的记录,操作系统会检查本地的hosts文件(一般路径为/etc/hosts)。这个文件里可能有手动配置的域名与IP地址的对应关系。如果在hosts文件中找到对应记录,就直接使用。
4.向配置的DNS服务器发起查询?:如果前面的步骤都没有找到对应的IP地址,系统会将查询请求发往配置的DNS服务器,通常是ISP提供的本地DNS服务器,也可以是用户自己配置的公共DNS服务器,如Google DNS 8.8.8.8。
5.DNS服务器查询:DNS服务器会先检查自己的缓存,看是否已经有这个域名的解析结果。如果DNS服务器也没有缓存到这个域名的解析结果,它会发起递归查询,可能涉及根DNS服务器。
6.递归查询?:递归查询涉及向根域名服务器查询顶级域名(如、等)的授权服务器地址,然后向对应的顶级域名服务器查询该域名下一级的授权DNS服务器地址,最后向该域名的权威DNS服务器发出查询,获取最终的IP地址。
7.返回IP地址给客户端?:获取到IP地址后,DNS服务器将结果缓存一段时间,并返回给请求方(用户的操作系统)。操作系统缓存该IP地址,并将其返回给浏览器。浏览器接收到IP地址后,发起与该IP地址的HTTP/HTTPS连接。

发布评论

评论列表 (0)

  1. 暂无评论