当前位置: 首页 > news >正文

若依系统报错net::ERR_CONNECTION_TIMED_OUT的原因

一、错误核心含义

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 java
    若无进程,重新启动后端服务(java -jar ruoyi-admin.jar),并查看日志(logs/ruoyi.log)定位启动失败原因。
步骤 2:检查前端请求地址(BASE_API)是否正确

若依前后端分离版的前端请求地址配置错误,是超时的高频原因:

  1. 前端配置文件位置(Vue 版):
    • 开发环境:ruoyi-ui/config/dev.env.js
    • 生产环境:ruoyi-ui/config/prod.env.js
  2. 核心配置项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'
  3. 修改后重启前端(npm run dev),刷新页面重试。
步骤 3:测试网络连通性(确认前端能访问后端端口)

即使服务启动、地址配置正确,网络不通也会导致超时,通过以下方式验证:

  1. Ping 后端 IP

    # 本地:ping localhost 或 ping 127.0.0.1 # 服务器:ping 后端服务器IP(如 ping 192.168.1.100)

    ✅ 能 ping 通:网络层无问题;❌ 不通:检查本机 / 服务器网络(如本机断网、服务器内网隔离)。

  2. 测试后端端口是否开放

    # 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」;❌ 端口关闭:后端服务未启动,或端口被占用 / 配置错误。

  3. 直接访问后端接口:在浏览器 / Postman 中输入后端接口地址,如http://localhost:8080/api/system/user/getInfo

    • 能返回数据:后端接口正常,问题在前端配置 / 代理;
    • 无法访问:后端服务 / 端口 / 网络有问题。
步骤 4:排查端口占用 / 后端端口配置

若后端配置的端口被其他程序占用,会导致服务启动失败或端口未真正监听:

  1. 查看端口占用
    # Linux netstat -tulpn | grep 8080 # Windows netstat -ano | findstr 8080
  2. 解决方式
    • 关闭占用端口的程序(如 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 重新排查,重点确认「服务是否真的启动」「端口是否真的开放」「地址是否真的正确」。
http://www.cnnetsun.cn/news/82049.html

相关文章:

  • 23、索引创建与格式化全攻略
  • GLM-4-32B-0414:重塑AI智能体技术格局的颠覆性突破
  • JoltPhysics帧率同步与物理引擎性能优化实战指南
  • AdGuard Home配置实战手册:性能优化与关键配置详解
  • WordPress企业管理系统完全指南
  • 突破传统限制:Apollo低延迟桌面流的开源方案
  • 合肥工业大学学位论文LaTeX模板终极使用指南
  • 7、主流操作系统对比分析
  • VMware NSX 4.2.3.2 发布,新增功能概览
  • 性能边界:何时用 Go 何时用 Java 的技术选型指南
  • 批量将Word中的不同的手机号码替换成同一内容,2种高效方法分享!
  • 123云盘解锁脚本完整教程:免费享受会员级云盘体验
  • AI智能体如何高效通信:构建智能协作网络的核心技术
  • 解密AI智能体通信黑盒:从混乱到高效协作的完整指南
  • 这个信号很明显:AI健康,开始换打法了
  • TikZJax终极指南:在浏览器中直接运行LaTeX绘图
  • ndb调试器完整教程:从基础使用到高级调试的终极指南
  • Auto-Subtitle完整教程:5分钟学会为视频添加智能字幕
  • 5个简单步骤:掌握Visual Studio许可证到期日期的管理秘诀
  • 友达 G185XW01 V1 工业液晶显示屏:18.5 英寸宽温高响应场景的显示驱动技术解析
  • 正交实验设计在软件测试用例生成中的应用研究
  • 17、Unix Shell编程:临时文件、数据读写与环境变量详解
  • 校园实验室|基于springboot + vue校园实验室管理系统(源码+数据库+文档)
  • 25、深入探索Shell交互与非标准特性
  • Apache Mesos运维实战:集群管理完整指南与故障处理方案
  • FlutterFire Remote Config用户细分实战:精准触达不同用户群体
  • Python 开发 - Python 装饰器(装饰器概述、函数概念、装饰器手动实现、装饰器语法糖实现)
  • 太阳能电池串IV检测系统:精准契合行业标准,筑牢光伏质量防线
  • 64、Ubuntu 下 C/C++ 编程与 Mono 开发全解析
  • 5、Ubuntu系统网络与图形界面使用指南