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

Nginx代理minIO图片路径实现公网图片访问

1、网络部署情况

VUE前端项目Nginx部署在公司内网,端口7790

后台接口项目部署在公司内网,端口7022

minIO服务部署在公司内网,端口9000

公网IP设备将80端口映射到7790端口(具体映射方式不详),实现通过互联网访问系统。

2、遇到的问题

后台将图片的minIO共享路径,直接返回给前端,交给浏览器去请求。

例如:http://内网IP:9000/bucketname/imagename.png?XXXXXXX

浏览器能通过内网地址访问系统,一般情况下也能直接访问到minIO服务器,图片展示没问题。 

当用户不在公司内网环境,用浏览器通过公网地址访问系统时,后台接口返回的图片地址,浏览器无法直接请求到。

3、问题解决方案

(1)前端修改图片请求地址,代码如下:

Vue.directive('minio-src', {inserted: async function(el, binding) { //指令名称为:real-imglet imgURL = binding.value; //获取图片地址if (imgURL) {const protocol = window.location.protocol;const host = window.location.host;imgURL = imgURL.replaceAll(process.env.VUE_APP_MINIO_HOST,protocol+"//"+host+"/minio");console.log("minio-url",imgURL);el.setAttribute('src', imgURL);}}
})

其中process.env.VUE_APP_MINIO_HOST是获取前端项目的环境变量,配置代码如下:

VUE_APP_MINIO_HOST = "http://172.17.0.1:9000"

img标签使用自定义指令,代码如下:

<img v-minio-src="imagUrl"/>                 

(2)Nginx代理配置如下:

location /minio/ {proxy_pass http://172.17.0.1:9000/;
}

http://www.lryc.cn/news/412714.html

相关文章:

  • 从零开始掌握tcpdump:参数详解
  • 漏洞挖掘 | edusrc记一次某中学小程序渗透测试
  • vulhub:nginx解析漏洞CVE-2013-4547
  • 备战秋招:2024游戏开发入行与跳槽面试详解
  • 红外热成像手持终端:从建筑检测到野外搜救的全方位应用
  • day07 项目启动以及git
  • 学会网络安全:开启广阔职业与责任之旅
  • UE5 镜头
  • SpringBoot如何实现简单的跨域配置
  • vue列表进入详情页实现上一篇下一篇功能
  • kalman的python实现
  • 查找算法:线性查找,golang实现
  • 【图像识别】十大数据集合集!
  • C++ | Leetcode C++题解之第312题戳气球
  • SSM学习11:springboot基础
  • 【前端 18】安装Node.js
  • C#/Winform入门、进阶、强化、扩展、知识体系完善等知识点学习、性能优化、源码分析专栏分享
  • springboot的表现层/控制层controller开发
  • 前端使用html2canvas在页面截图并导出,以及截图中含有图片时的跨域问题解决
  • 道可云元宇宙每日资讯|第十二届互联网安全大会在北京开幕
  • 前端面试基础题(微信公众号:前端面试成长之路)
  • https执行过程,特点,作用
  • 【优秀python案例】基于Python的豆瓣电影TOP250爬虫与可视化设计与实现
  • 如何设计一个测试用例
  • 黄金和原油市场波动背后的经济信号
  • 【Python数值分析】革命:引领【数学建模】新时代的插值与拟合前沿技术
  • PCL-基于超体聚类的LCCP点云分割
  • git 推送时出现错误 Locking support detected on remote “origin“
  • 劳动仲裁经验篇【赶紧收藏】
  • QT多媒体编程(一)——音频编程知识详解及MP3音频播放器Demo