Chrome无法访问localhost,但Edge可以访问,怎么解决?

 

问题描述:做了几个项目,用chrome浏览器本地测试的时候发现,无法访问,其他浏览器可以,刚开始以为是缓存很多删除,删除没大会儿继续无法访问。发布到服务器上面chrome可以访问。之后找到了解决方案,故整理一下。

1. 清除HSTS设置(最可能的原因)

HSTS(HTTP严格传输安全)是一种安全机制,如果之前通过HTTPS访问过localhost且证书有问题,浏览器可能会将localhost错误地加入强制HTTPS的列表,导致现在无法通过HTTP访问。

操作步骤:‌

在Chrome地址栏输入:chrome://net-internals/#hsts
点击顶部的“Delete domain security policies”标签页。
在输入框中输入 localhost,然后点击“Delete”按钮。
操作成功后,关闭所有Chrome窗口,然后重新打开,再尝试访问 http://localhost:端口号。‌
2. 检查并修改代理设置

如果您配置过系统代理或浏览器代理,可能会导致Chrome绕过代理访问localhost时出现问题。

操作步骤:‌

在Chrome地址栏输入:chrome://settings/system
点击“打开您的计算机的代理设置”。
确保“使用代理服务器”选项是‌关闭‌的。如果已开启,请关闭它。‌
另外,检查“忽略这些主机和域的代理设置”列表中是否包含 localhost 或 127.0.0.1,确保它们被正确排除。‌‌
3. 检查Chrome扩展程序

某些扩展程序(如广告拦截器、安全工具或代理插件)可能会错误地拦截对localhost的请求。

排查方法:‌

访问 chrome://extensions。
临时‌禁用‌所有扩展程序。
然后尝试访问localhost。如果此时可以访问,说明问题出在某个扩展上。您可以重新启用扩展,逐一排查是哪一个导致的问题。‌‌
4. 检查本地hosts文件(作为排查)

虽然Edge能访问而Chrome不能,此问题可能性较低,但仍可检查以排除其他干扰。

操作步骤:‌

以管理员身份打开记事本,然后打开文件:C:\Windows\System32\drivers\etc\hosts
确认文件中包含以下一行且未被注释(前面没有#号):
text
Copy Code
127.0.0.1 localhost

如果没有,请手动添加;如果被注释了,请取消注释。保存文件后重启Chrome。‌‌
5. 以管理员身份运行Chrome

有时权限问题也可能导致网络访问异常。

操作方法:‌

右键点击Chrome快捷方式,选择“‌以管理员身份运行‌”。‌‌
总结与建议

综合来看,‌方法1(清除HSTS设置)是解决此问题的首选‌,因为“Chrome无法访问而Edge可以”是HSTS问题的典型表现。‌ 如果问题依旧,再依次尝试方法2和方法3。

希望这些步骤能帮助您快速解决问题!