首页
/ 积木BI大屏HTTPS部署跨域问题解决方案

积木BI大屏HTTPS部署跨域问题解决方案

2026-02-04 05:06:43作者:邬祺芯Juliet

在积木BI大屏项目部署过程中,当设计页面和预览页面通过HTTP协议调用接口,而域名使用HTTPS协议时,会出现跨域问题。这种情况通常发生在使用反向代理配置HTTPS访问的场景中。

问题分析

跨域问题的根本原因是浏览器出于安全考虑,阻止了不同协议(HTTP与HTTPS)之间的资源请求。具体表现为:

  • 前端页面通过HTTPS协议加载
  • 页面内的API请求却使用了HTTP协议
  • 浏览器阻止了这种混合内容请求

解决方案

方案一:统一协议配置

确保前端和后端都采用相同的HTTPS协议。这是最直接的解决方案,需要检查服务器配置和反向代理设置。

方案二:Nginx反向代理配置

通过Nginx进行反向代理时,需要正确配置协议头信息:

location /jimu/ {
    proxy_pass http://localhost:8085/;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Proto https;
    proxy_redirect off;
}

关键配置说明:

  • proxy_set_header X-Forwarded-Proto https:告知后端使用的是HTTPS协议
  • 确保代理路径配置正确,避免路径映射错误

方案三:项目上下文路径配置

对于独立部署的积木报表项目,可以通过配置上下文路径来解决:

server:
  servlet:
    context-path: /bi-report

同时配置Nginx:

location /bi-report/ {
    proxy_pass http://localhost:8085/bi-report/;
}

方案四:自定义项目前缀配置

在application.yml中配置自定义前缀:

jeecg:
  jmreport:
    customPrePath: /jimu

这种方法适用于需要嵌入其他系统的场景。

配置注意事项

  1. 协议一致性:确保所有请求都使用相同的协议(HTTPS)
  2. 路径映射:反向代理配置中的路径映射要准确无误
  3. 头部信息:正确设置X-Forwarded-Proto等头部信息
  4. 防火墙配置:检查是否启用了数据源安全限制

最佳实践建议

  1. 生产环境建议统一使用HTTPS协议
  2. 通过Nginx统一管理SSL证书和协议转换
  3. 定期检查代理配置和路径映射
  4. 测试环境与生产环境保持一致的配置策略

通过以上配置方案,可以有效解决积木BI大屏在HTTPS环境下的跨域问题,确保设计页面和预览页面正常访问接口资源。

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