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或127.0.0.1开头的地址,这个报错90%意味着你的开发服务根本没启动,或者监听地址不对。
方法一:检查端口监听状态
macOS/Linux终端执行:lsof -i :3000(把3000换成你实际访问的端口)
Windows命令提示符执行:netstat -ano | findstr :3000
如果没有任何输出,说明没有进程在监听该端口——服务压根没跑起来。
方法二:确认服务绑定地址
很多框架默认只绑定127.0.0.1,这意味着外部设备无法访问;但如果你在本机访问却报ERR_CONNECTION_REFUSED,更可能是服务根本没启动,或启动时因配置错误(如.env里PORT写成字符串)而静默退出。
重新执行启动命令(如yarn start、npm run dev、python manage.py runserver 0.0.0.0:8000),注意终端是否有报错信息。
方法三:检查防火墙是否拦截
Windows:进入“高级安全Windows Defender防火墙”→入站规则→确认是否有放行你服务端口的规则;
macOS:系统设置→隐私与安全性→防火墙→防火墙选项→确保“阻止所有传入连接”未启用。



















