积木报表】Nginx反向代理后无法使用积木报表的问题"/>
【积木报表】Nginx反向代理后无法使用积木报表的问题
分析
- 直接通过后端端口(以8081为例)访问积木框架,访问正常
- 通过Nginx反向代理(前端应用端口3000为例),代理头:/jeecg-boot,访问积木框架将无法渲染表单数据
出问题的配置如下:
location ^~ /jeecg-boot/ {proxy_set_header Host $host;proxy_pass http://backendServer/jeecg-boot/;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
解决方案
- 经过调试,发现是反向代理中重设了Host头,导致积木框架的数据接口url拼接异常
- 解决方案参考下文配置
# 积木报表的坑:Nginx反向代理后无法使用积木报表的问题# 1.反向代理不能重设Host,这样将以代理主机的Host信息传给积木后端去请求后续接口逻辑,导致报错# 2.注掉Host后,不要使用upstream别名,手动设置报表打印完整地址,后续通过反向代理过去即可正常打印# 3.通过反向代理访问积木报表,Jeecg框架内的菜单配置需要写成绝对路径:http://localhost:3000/jeecg-boot/jmreport/list?token=${token}location ^~ /jeecg-boot/jmreport/ {# proxy_set_header Host $host;proxy_pass http://localhost:8081/jeecg-boot/jmreport/;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
更多推荐
【积木报表】Nginx反向代理后无法使用积木报表的问题
发布评论