首页
/ JeecgBoot积木BI在大屏设计时API请求URL丢失端口号的解决方案

JeecgBoot积木BI在大屏设计时API请求URL丢失端口号的解决方案

2025-05-02 17:43:21作者:齐添朝

问题背景

在使用JeecgBoot 3.7.2大屏版配合积木BI 1.9.1版本时,部分用户遇到了一个特殊的API请求问题。当用户点击"新建"或"设计"大屏时,系统生成的API请求URL会丢失端口号信息,导致请求无法正常发送。值得注意的是,积木Report模块的API请求却能正常工作,这显示问题具有特定性。

问题表现

  1. 积木BI异常表现:大屏设计时生成的API请求URL缺少端口号,例如显示为https://xxx.xxx.com/erp/xxxxx而不是完整的https://xxx.xxx.com:18006/erp/xxxxx

  2. 积木Report正常表现:相同环境下,积木Report模块的API请求URL包含完整端口号,请求能够正常发送

  3. 配置尝试:用户尝试按照文档配置customPrePath参数后,虽然URL中出现了端口号,但产生了新的路径拼接问题,如https://xxx.xxx.com:18006/erp/erp/xxxxx,导致网页无法正常访问

环境配置

典型的问题环境配置如下:

  • 前端部署:公网端口10086,内网端口8006,启用了SSL
  • 后端部署:内网端口8007,启用了SSL,配置了context-path: /erp
  • 使用Nginx进行反向代理

解决方案

经过技术分析,该问题的最佳解决方案是:

  1. 升级积木BI版本:将积木BI和积木Report都升级到1.9.3版本
  2. 无需额外配置:新版本已内置解决此问题,升级后无需进行任何特殊配置即可正常工作

技术原理

该问题的本质在于早期版本的积木BI在处理URL拼接时,未能正确继承和拼接完整的请求地址信息。新版本通过以下改进解决了问题:

  1. 完整的URL处理机制:确保在生成API请求时保留完整的协议、域名、端口和路径信息
  2. 上下文路径处理优化:正确处理应用配置的context-path参数,避免路径重复拼接
  3. 前后端协调机制:确保前端生成的请求与后端预期的接收格式保持一致

实施建议

对于遇到类似问题的用户,建议采取以下步骤:

  1. 确认当前使用的积木BI和积木Report版本
  2. 统一升级到1.9.3或更高版本
  3. 检查Nginx配置,确保反向代理规则正确
  4. 验证API请求URL是否包含完整的端口信息

通过以上措施,可以确保JeecgBoot大屏功能在各种部署环境下都能正常工作,特别是对于使用非标准端口或自定义上下文路径的部署场景。

登录后查看全文
热门项目推荐
相关项目推荐