当前位置: 首页 > news >正文

Minio外网访问内网上传的预签名url的方法以及报错原因

自己个人的经验总结:

当其他技术配置检查多次都无误,但就是不行的时候,要考虑低级错误的可能:

比如本次 就是 之前 存储桶 的名字改过,但是只改了代码里 获取预签名url的,上传的没有改

导致的结果就是url根本是错的,因为存储桶里没有那个图片对象,它们都在旧的存储桶里

---------------------------------------------------------------------------------------------------------------------

需求:

javaSpring项目 与Minio部署在同一台服务器

外网只开放了一个端口比如18888映射到内网8888,此端口自然默认是给前端项目

Minio上传设置的Endpoint为服务器内网地址如 192.168.0.3:9000,自然获取 预签名url 返回的也是192开头的链接,在内网可以显示图片,到外网不行

尝试用nginx进行转发,假设筒名称为bk1,则链接必然在端口号后为/bk1/,所以设置

server {
listen 8888;
server_name localhost;
client_max_body_size 3000m;
#必须 防止请求头丢失
underscores_in_headers on;location / {
root /home/webapp/dist;
index index.html;
}location /donghai7s/ {
proxy_read_timeout 600s;proxy_pass http://127.0.0.1:9000; # 注意这里,我们代理到本机的19000端口,即MinIO服务
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}

这样是不行的,因为预签名url会校验请求头,完全相同才可以,这里转发后为http://127.0.0.1:9000,与设置的Endpoint 192.168.0.3:9000不同,所以要改成一致的.

第二:返回的url因为是内网ip,不能直接用,需要改成外网

灵活的方式就是从前端获取项目ip和端口,进行替换:

如果只是简单项目,不涉及其他ip和端口,也可以后端返回之前替换

其他参考文章:

Nginx代理minIO图片路径实现公网图片访问_minio图片访问-CSDN博客

minio图片展示(minio图片上传地址为内网,展示时为外网)_minio 图片-CSDN博客

http://www.rkmt.cn/news/31206.html

相关文章:

  • 【ESP32 在线语音】星火大模型
  • RT-Thread 之互斥量使用
  • AI元人文构想系列:从战略能力到价值对话的文明之路
  • Rig 项目深度分析报告
  • RT-Thread之创建线程
  • cias_voice_plyer_handle.c 解析
  • VirtualBox共享文件夹完全指南:实现Windows与Ubuntu无缝文件共享
  • WampServer下载安装教程(附安装包,图文并茂) - 指南
  • 《从 “被动听” 到 “主动学”:课堂听讲助力大学生思维成长》
  • 用AI批量生成产品视频!Python+Google Veo 3.1 API让电商转化率飙升
  • 251019 NOIP 模拟赛 T2 | dp 及其优化、调整法最优解性质、数形结合
  • 常见问题解决 --- 未识别函数
  • 小作业 14(2018 北京高考文科)
  • AI元人文:从战略能力到价值对话的实现框架
  • Loneliness
  • Java流程控制——用户交互Scanner
  • 2025.10.26总结
  • Python实现验证码识别的完整流程解析
  • ADB命令手册 - Android Debug Bridge命令参考
  • 昨天 今天 明天
  • 刻意练习的重要性
  • 联发科技 Genio 物联网高效的平台,引领 IoT 智能新时代
  • 第6天(简单题中等题 不定长滑动窗口)
  • 详细介绍:深入理解 Scikit-learn:Python 中最常用的机器学习库
  • 主动求索:大学生应掌控学习与时间
  • 沉入 遗忘 海底 躲进 存在感的盲区 kill my memory 请把项上垃圾移去
  • 关于莫队算法
  • 2025年东莞环评公司权威推荐榜:环评手续/环评报告/环评验收一站式服务,专业高效合规首选厂家
  • 变盲从为探索:专注听课
  • 以听为基,以做为翼