当浏览器提示:
❌ ERR_CONNECTION_REFUSED
说明:浏览器成功找到了目标 IP 地址,但 目标端口没有响应,或者拒绝了连接请求。
这是个常见的网络错误,下面给出详细的 原因分析 + 解决方法,帮你快速定位并解决问题。
🔍 一、问题原因总览
类别 | 原因 | 表现 |
---|---|---|
✅ 服务端原因 | 网站服务器未运行或未监听目标端口 | 浏览器尝试连接时直接被拒 |
✅ 本地配置问题 | 本地代理设置错误、防火墙阻断 | 你自己的电脑拦截了请求 |
✅ 网络问题 | 路由器、运营商限制,DNS解析错误 | 域名无法解析或 IP 不通 |
✅ 浏览器问题 | 扩展插件干扰或缓存异常 | 更换浏览器可临时解决 |
🛠 二、解决方法大全(按优先级排序)
✅ 1. 确认网站或服务是否正在运行
- 适用场景:你访问的是自己搭建的网站(如
localhost:8080
或开发环境)
解决方法:
- 重启服务(如 Node.js、Nginx、Tomcat)
- 检查服务监听端口(如
netstat -an
或ss -ltn
) - 确保服务监听
0.0.0.0
或公网 IP(而非127.0.0.1
)
✅ 2. 关闭浏览器代理设置
错误的代理配置会导致所有外部连接被拒绝。
解决方法(以 Chrome 为例):
- 打开浏览器设置 → 系统 → 打开代理设置
- 检查是否启用了 HTTP/SOCKS 代理
- 如果有,全部关闭或恢复为自动检测设置
✅ 3. 禁用防火墙或安全软件临时测试
系统或安全软件(如火绒、360、Windows Defender)可能屏蔽了某些端口。
解决方法:
- 临时关闭防火墙或添加端口放行规则:
# Windows 打开端口
netsh advfirewall firewall add rule name="Open8080" dir=in action=allow protocol=TCP localport=8080
✅ 4. 切换网络测试(排查路由器/网络层问题)
- 使用手机热点测试是否为局域网或路由器问题
- 测试 DNS 设置是否出错(可用 8.8.8.8 试试)
✅ 5. 清理浏览器缓存、尝试无痕窗口或换浏览器
插件、缓存也可能引发连接失败。
解决方法:
- 打开“无痕模式”重试访问
- 更换浏览器(如 Firefox、Edge)
- 清除 DNS 缓存:
ipconfig /flushdns # Windows
✅ 6. 使用命令测试端口连通性
ping yourdomain.com # 看 IP 是否可达
telnet yourdomain.com 80 # 看端口是否被监听
curl http://yourdomain.com # 看是否有响应
🧪 示例场景分析
🔸 情景1:访问 localhost:8080
报错
可能是服务没运行,或者监听在 127.0.0.1 上。
✅ 解决:确保服务监听 0.0.0.0:8080
🔸 情景2:访问自己部署的网站(如阿里云服务器)
可能原因:
- 云服务安全组未放行端口
- 应用没监听公网 IP
- 防火墙拦截
✅ 解决:
- 登录云后台,开放安全组规则(如端口 80、443)
- 用命令检查服务状态:
ss -tlnp | grep 80
✅ 总结:排查顺序
- 服务是否运行、监听地址是否正确?
- 本地代理、防火墙是否拦截?
- 网络是否通畅?DNS 是否正常?
- 浏览器插件/缓存是否干扰?
📌 如果你愿意提供具体访问的地址(如 http://localhost:3000
、http://xxx.com:8000
)或场景(开发?公网?容器?),我可以一对一帮你分析问题。需要吗?
发表回复