err_connection_refused表示服务器明确拒绝tcp连接,需先确认单站或全网异常,再依次重置代理、清除缓存与cookie、禁用扩展、刷新并更换dns(8.8.8.8/8.8.4.4),本地开发时还需检查服务是否监听0.0.0.0及端口是否被防火墙拦截。

当你在谷歌浏览器中输入网址后,页面直接弹出红色错误页显示“无法访问此网站”并附带ERR_CONNECTION_REFUSED,说明浏览器已发出TCP连接请求,但目标服务器明确拒绝了该次握手——不是网络不通、不是DNS失败,而是请求发到了一个“不开门”的地址或端口。
先确认是单站异常还是全局故障
打开新标签页,访问 baidu.com 和 github.com。如果都能打开,问题只出在你当前访问的那个网址;如果全打不开,先检查本地网络连通性。
按 Win + R(Windows)或打开终端(macOS),执行 ping 8.8.8.8。收到回复说明物理链路正常;若全部超时,重启路由器与光猫,等指示灯稳定后再试。
用手机连同一Wi-Fi访问相同网址:能打开,说明问题100%锁定在你电脑的软件配置或本地服务上;打不开,则需联系网站方或等待服务恢复。
立即关闭系统代理设置
错误的代理配置会让所有流量被强行转发到一个根本不存在的中间服务器,结果就是连接被拒。
在Chrome右上角点击三个点 → 设置 → 系统 → 打开计算机的代理设置。
进入系统网络代理界面后:务必关闭“自动发现代理设置”和“使用自动配置脚本”两项,同时确保“网页代理(HTTP)”“安全网页代理(HTTPS)”“FTP代理”全部未勾选。
改完必须点“确定”或“应用”保存——很多用户跳过这步,以为修改已生效。
清除浏览器缓存与Cookie
损坏的Service Worker、过期的认证Cookie或错乱的HSTS策略,可能让Chrome固执地尝试连接已下线的旧端口或被屏蔽的域名。
地址栏输入 chrome://settings/clearBrowserData → 回车 → 时间范围选“所有时间” → 勾选“Cookie及其他网站数据”和“缓存的图片和文件” → 点击“清除数据”。
注意:不要勾选“密码”,否则会永久丢失已保存的所有账号密码。
清除完成后,必须手动关闭所有Chrome窗口,并在任务管理器中结束所有 chrome.exe 或 Google Chrome 进程,否则缓存仍驻留内存。
刷新并更换DNS
第一步:刷新本地DNS缓存
macOS终端执行:sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
Windows命令提示符(管理员)执行:ipconfig /flushdns
第二步:更换DNS服务器
进入系统网络设置 → 当前Wi-Fi/以太网连接 → 详细信息 → DNS → 删除所有现有条目 → 添加两行:8.8.8.8 和 8.8.4.4 → 保存。
改完立即重启Chrome,再试一次。
排查本地服务是否监听正确
如果你正在访问的是 localhost:3000、127.0.0.1:8080 这类本地开发地址,ERR_CONNECTION_REFUSED大概率是因为服务根本没启动,或只绑定了127.0.0.1而拒绝外部访问。
方法一:检查端口是否被监听
Windows:打开命令提示符(管理员),运行 netstat -ano | findstr :3000
macOS/Linux:终端运行 lsof -i :3000
若无任何输出,说明服务未运行,需手动启动对应程序(如 npm start 或 python app.py)。
方法二:确认监听地址是否为0.0.0.0
Node.js中应写 app.listen(3000, '0.0.0.0');Flask中启动时加参数 --host=0.0.0.0;否则默认只响应127.0.0.1,浏览器从localhost发起的请求也会被拒。
方法三:检查防火墙是否拦截
Windows中以管理员身份运行命令提示符,执行:netsh advfirewall firewall add rule name="Allow Port 3000" dir=in action=allow protocol=TCP localport=3000











