若依框架部署到服务器后头像资源访问404

排错过程

第一开始以为是代理出问题了

官网给出的解决方案

第一种是用代理后端接口,第二种是重写路径直接访问静态文件

接口通过捕获profile开头的路径/profile/avatar...,转为/home.../avatar找到我们在该路径下的文件

但是我想了一下,我nginx是已经做好代理的

也就是能成功从prod-api到我的后端服务器。所以第一种代理问题排除

转念一想,我在本地开发的时候,也就是用idea开发的时候是可以代理的,所以不是后端服务器的锅,问题锁定在nginx上

估计是nginx没有给我处理由后端转发的路径

/home/ruoyi/.../xx.jpg ,我们用nginx直接访问试试看

nginx直接访问静态资源不行,需要加一个别名转发

还是不行,应该是当前站点的配置文件有问题,我们到nginx的根配置文件配置一个试试

成功响应,ok了,站点配置文件一行一行开始看,再次缩小范围

看下哪些是跟静态资源有关的

正则匹配url路径,如果是以图片资源结尾则进行缓存,第二次访问从缓存里拿资源

有效期30天

这个配置将我们的profile/xxxx/.jpg 请求后端服务器 当成了静态资源的访问

也就是说绕过了后端服务器将profile/xxxx/.jpg 转换为/home/xxx/.jpg的过程,直接访问了一个不存在的profile/xxxx/.jpg资源

我们将其注释调即可

上面配置文件是宝塔生成的,如果你是自己手动配就不会出现问题,不过我感觉大部分都是用这个配的站点,自己手动太鸡肋了

解决方法

注释掉站点配置文件的如下配置

重载nginx配置文件生效后重新访问

成功加载

补充,这种是经过prod-api代理的请求,如果是后续上传的不走这个代理的而是profile...还得配置个代理或者别名,不然就这样了,噢噢官方那个常见问题就是这个好像

如下修改

img src请求结果

相关推荐
张火火isgudi3 小时前
fedora43 安装 nvidia 驱动以及开启视频编解码硬件加速
linux·运维·视频编解码·nvidia
.鸣4 小时前
set和map
java·学习
ha_lydms4 小时前
5、Spark函数_s/t
java·大数据·python·spark·数据处理·maxcompute·spark 函数
赋创小助手4 小时前
融合与跃迁:NVIDIA、Groq 与下一代 AI 推理架构的博弈与机遇
服务器·人工智能·深度学习·神经网络·语言模型·自然语言处理·架构
电商API&Tina4 小时前
跨境电商 API 对接指南:亚马逊 + 速卖通接口调用全流程
大数据·服务器·数据库·python·算法·json·图搜索算法
IT19954 小时前
Qt笔记-使用SSH2进行远程连接linux服务器并上传文件
linux·服务器·笔记
XXYBMOOO5 小时前
内核驱动开发与用户级驱动开发:深度对比与应用场景解析
linux·c++·驱动开发·嵌入式硬件·fpga开发·硬件工程
黄河滴滴5 小时前
java系统变卡变慢的原因是什么?从oom的角度分析
java·开发语言
侠客行03175 小时前
Mybatis二级缓存实现详解
java·mybatis·源码阅读
老华带你飞5 小时前
农产品销售管理|基于java + vue农产品销售管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端