一、错误核心含义
net::ERR_CONNECTION_TIMED_OUT 是前端发起请求时,无法在指定时间内与后端服务器建立连接(连接超时),而非接口报错或返回异常。在若依(RuoYi)框架中,该错误几乎都与「网络连通性、服务启停状态、地址 / 端口配置、防火墙拦截」四类问题相关。
二、分步骤排查 & 解决(从简单到复杂)
步骤 1:确认若依后端服务是否正常启动
这是最基础也最常见的原因,后端服务未启动 / 启动失败,前端请求必然超时。
- 本地开发环境:打开后端项目的启动日志(IDEA/Eclipse 控制台),检查:✅ 有无
Tomcat started on port(s): 8080 (http)日志(确认端口启动成功);❌ 排除启动报错:如数据库连接失败(Access denied for user 'root'@'localhost')、端口被占用(Address already in use)、依赖缺失等,需先解决启动异常。 - 服务器部署环境:执行命令检查后端进程:
若无进程,重新启动后端服务(# Linux ps -ef | grep ruoyi # Windows tasklist | findstr javajava -jar ruoyi-admin.jar),并查看日志(logs/ruoyi.log)定位启动失败原因。
步骤 2:检查前端请求地址(BASE_API)是否正确
若依前后端分离版的前端请求地址配置错误,是超时的高频原因:
- 前端配置文件位置(Vue 版):
- 开发环境:
ruoyi-ui/config/dev.env.js - 生产环境:
ruoyi-ui/config/prod.env.js
- 开发环境:
- 核心配置项:
BASE_API,需与后端启动的「IP + 端口 + 接口前缀」完全一致。- 错误示例:后端启动在
192.168.1.100:8080,前端配置成http://localhost:8081/api(IP / 端口错误); - 正确示例:
// 本地开发(后端本机启动) BASE_API: 'http://localhost:8080/api' // 服务器部署(后端在192.168.1.100:8080) BASE_API: 'http://192.168.1.100:8080/api'
- 错误示例:后端启动在
- 修改后重启前端(
npm run dev),刷新页面重试。
步骤 3:测试网络连通性(确认前端能访问后端端口)
即使服务启动、地址配置正确,网络不通也会导致超时,通过以下方式验证:
-
Ping 后端 IP:
# 本地:ping localhost 或 ping 127.0.0.1 # 服务器:ping 后端服务器IP(如 ping 192.168.1.100)✅ 能 ping 通:网络层无问题;❌ 不通:检查本机 / 服务器网络(如本机断网、服务器内网隔离)。
-
测试后端端口是否开放:
# Linux/macOS:telnet 或 nc telnet 127.0.0.1 8080 nc -zv 127.0.0.1 8080 # Windows:PowerShell Test-NetConnection 127.0.0.1 -Port 8080✅ 端口开放:提示「Connected」/「TcpTestSucceeded=True」;❌ 端口关闭:后端服务未启动,或端口被占用 / 配置错误。
-
直接访问后端接口:在浏览器 / Postman 中输入后端接口地址,如
http://localhost:8080/api/system/user/getInfo:- 能返回数据:后端接口正常,问题在前端配置 / 代理;
- 无法访问:后端服务 / 端口 / 网络有问题。
步骤 4:排查端口占用 / 后端端口配置
若后端配置的端口被其他程序占用,会导致服务启动失败或端口未真正监听:
- 查看端口占用:
# Linux netstat -tulpn | grep 8080 # Windows netstat -ano | findstr 8080 - 解决方式:
- 关闭占用端口的程序(如 kill 对应的 PID);
- 修改后端端口:在
ruoyi-admin/src/main/resources/application.yml中修改server.port(如改为 8081),并同步更新前端BASE_API中的端口。
步骤 5:检查防火墙 / 安全组 / 代理拦截
防火墙 / 安全组未放行后端端口,是服务器部署时的高频问题:
- 本地 Windows 防火墙:进入「控制面板→系统和安全→Windows Defender 防火墙→高级设置」,新增「入站规则」,放行后端端口(如 8080)。
- Linux 防火墙(CentOS/RedHat):
# 临时放行8080端口 firewall-cmd --add-port=8080/tcp --permanent firewall-cmd --reload # 关闭防火墙(测试用,生产不建议) systemctl stop firewalld - 云服务器安全组(阿里云 / 腾讯云):在控制台「安全组」中,新增「入站规则」,允许「TCP:8080」端口,来源设为「0.0.0.0/0」(测试)或指定前端 IP。
- 代理 / VPN 拦截:若本地开启了 VPN、代理软件(如 Charles、Fiddler),暂时关闭重试;若前端用 Nginx 代理,检查 Nginx 配置是否转发到正确的后端地址:
# Nginx代理配置示例(需确保proxy_pass指向后端真实地址) location /api/ { proxy_pass http://127.0.0.1:8080/api/; # 后端IP+端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; }
步骤 6:排查后端接口慢 / 死循环(超时兜底场景)
若后端服务启动正常、网络连通,但接口处理时间过长(如查询超大数据集、代码死循环),也会触发超时:
- 访问后端基础接口(如
http://localhost:8080/api/system/user/getInfo),观察响应时间; - 查看后端日志(
logs/ruoyi.log),排查是否有慢 SQL、死循环、第三方接口调用超时等问题; - 临时调整前端超时时间(
ruoyi-ui/src/utils/request.js中的timeout,默认一般是 10000ms),但核心是优化后端接口性能。
三、常见场景速查
| 场景 | 大概率原因 | 快速解决 |
|---|---|---|
| 本地开发,前端连本机后端 | 后端未启动 / 端口被占用 / 前端 BASE_API 配置错 | 启动后端、改端口、修正 BASE_API |
| 前端连服务器后端 | 服务器防火墙 / 安全组未放行端口 / IP 写错 | 开放端口、核对服务器 IP |
| 服务器部署后外网访问超时 | 云服务器安全组未开放端口 / 公网 IP 未绑定 | 配置安全组、绑定公网 IP |
| 重启服务后突然超时 | 后端启动失败(如数据库连接断了) | 检查后端日志,修复数据库连接等问题 |
四、最终验证
解决后,打开浏览器 F12→Network,刷新页面:
- 若请求的「Status」为 200/401(未登录),说明连接成功(401 是正常未登录状态,登录即可);
- 若仍超时,回到步骤 1 重新排查,重点确认「服务是否真的启动」「端口是否真的开放」「地址是否真的正确」。

1万+

被折叠的 条评论
为什么被折叠?



