mac上更新替换hosts文件后不生效如何解决

2023-06-15  本文已影响0人  toNull

场景描述:公司一个后台项目使用vue2进行开发的,后台有个登录页面需要登录,但是这个接口在浏览器上使用vscode启动的服务地址进行访问然后登录的话会存在跨域问题,和后台沟通后台不愿意配置跨域白名单配置,然而本地调试需要登录成功后台页面才能调试对应里面功能模块。
于是:通过修改配置本地hosts方式来解决这个问题

怎么配置修改hosts:例如正常进入后台的地址是 www.quest.119you.com,使用这个地址在浏览器访问然后登录就能正常进入后台进行操作;那么可以将vscode启动的服务ip地址映射到www.quest.119you.com,然后更新到电脑hosts,再去访问www.quest.119you.com不就找到本地hosts映射配置的ip,就可以访问vscode启动的服务,然后能成功的登录进后台进行调试了

关于本机hosts配置注意事项

不管启动服务地址有没有带端口号,配置的host只能是ip映射对应域名,参考:

  192.168.0.125 www.quest.119you.com

配置更新hosts设置完成后,如果本地服务不带端口,则输入www.quest.119you.com即可访问;如果带端口,则在对应域名后面带上对应端口即可访问(www.quest.119you.com:8080)

本地电脑完成hosts更新配置后,然后根据对应的地址访问后台,这里可能遇到的坑:

 //可通过ping 查看域名对应的ip 会发现是服务器对应的ip
 ping www.quest.119you.com

总结以下是一些可能的解决方法:
(1) 检查调试访问本地那个域名前面是不是https,如果是https要改成http才能访问到vscode启动的服务
(2) 清除 DNS 缓存:打开终端应用程序,输入以下命令并按回车键:

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

(3) 检查 hosts 文件路径:确保您正在编辑正确的 hosts 文件。hosts 文件位于 /etc/hosts。您可以使用以下命令打开 hosts 文件:

sudo nano /etc/hosts

(4) 确保正确编辑 hosts 文件:检查您在 hosts 文件中是否正确地添加了要屏蔽或重定向的域名和 IP 地址。确保每个条目都在单独的一行上,并在 IP 地址和域名之间使用空格或制表符。
(5) 检查文件权限:确认您对 hosts 文件具有适当的权限。使用以下命令检查文件权限:

ls -l /etc/hosts

如果您没有写入权限,请使用以下命令将其更改为可写入:

sudo chmod +w /etc/hosts

(6) 重启网络服务:有时,重启网络服务可以使 hosts 文件的更改生效。使用以下命令重启网络服务:

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
sudo killall -9 mDNSResponderHelper
sudo dscacheutil -configuration

(7) 使用上述命令执行后,重新访问一般都能够解决


关于DNS扯淡:
DNS是什么:原理是通过域名找到对应ip,根据实际环境找到的ip不同

正常情况下我们在浏览器上输入一个网址就能打开网站,这是怎么做到的呢?

如果本地本质了ip映射到域名更新设置到hosts

不同时间不同地点,访问一个网址,运营商会根据他们规则路由到最近的可用的DNS解析服务器

通过地点,不同时间,可能路由到的DNS解析服务器不是同一个机器

上一篇 下一篇

猜你喜欢

热点阅读