java项目使用宝塔面板部署服务器nginx不能反向代理找到图片资源

1.查看文件是否上传成功,宝塔面板也很方便查看文件地址

2.检查拦截器是否放行图片下载接口,以防没有token权限

3.图片上传是否使用云服务器地址

复制代码
//@PostMapping("/upload")
//public Result upload(@RequestParam("file") MultipartFile file) throws IOException {
//    //找到文件的位置
//    String filePath = System.getProperty("user.dir") + "/files/";//获取当前项目的根路径
//    if(!FileUtil.isDirectory(filePath)){
//        FileUtil.mkdir(filePath);
//    }
//    byte[] bytes = file.getBytes();
//    String filename = System.currentTimeMillis() + "_" +file.getOriginalFilename(); //文件的原始名称
//    //写入文件
//    FileUtil.writeBytes(bytes,filePath +filename);
//
//    // 修改这里:使用服务器IP或域名替换localhost
//    String url = "http://云服务器地址/files/download/" + filename;
//    // 或者使用相对路径(推荐)
//    // String url = "/files/download/" + filename;
//
//    return Result.success(url);

4.确定网站nginx配置是否写入

location ^~ /files/download/ {

proxy_pass http://127.0.0.1:9999/files/download/;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

跨域配置

add_header 'Access-Control-Allow-Origin' 'http://49.234.157.76' always;

add_header 'Access-Control-Allow-Methods' 'GET, OPTIONS' always;

if ($request_method = 'OPTIONS') {

return 204;

}

}

注意:Nginx location 优先级冲突:正则规则 location ~ .*\.(gif|jpg|jpeg|png...) 覆盖了 /files/download/ 路径

如果还是没有成功,可以使用先使用命令行直接访问后端接口,如果没问题就着重排查nginx配置

相关推荐
guodingdingh2 小时前
软件开发工作问题总结0718
java·开发语言·数据库
咖啡八杯4 小时前
GoF设计模式——解释器模式
java·后端·spring·设计模式
优橙教育4 小时前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
糖果店的幽灵5 小时前
【DeepAgents 从入门到精通】Context Management 上下文管理
java·人工智能·后端·spring·中间件·langgraph·deepagents
腻害兔6 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:字典、短信、邮件、通知——后台系统的“基础设施四件套“!
java·前端·vue.js·产品经理·ai编程
CodexDave6 小时前
MySQL事务隔离级别与MVCC机制解析
前端·数据库·mysql·nginx·性能优化·负载均衡
碎光拾影6 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库
一叶龙洲7 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
Miao121317 小时前
微服务 API 测试实践:海外某民宿平台如何构建模式驱动测试基础设施
java·开发语言
腻害兔8 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:支付模块 yudao-module-pay,一个让产品经理都看懂的支付中台设计
java·前端·vue.js·产品经理·ai编程