教你用最简单的方式实现Minio直链预览(无需通过后端对外暴露预览接口)

本文介绍了如何在Minio上修改Bucket配置以实现文件直链预览,包括设置public权限,调整Anonymous权限,以及通过Nginx转发外网访问。重点强调了文件属性对预览的影响和基本的安全设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

1.修改Minio上Bucket(存储桶)的配置

2.配置Nginx


前言

 

Minio现在是越来越多人用了,光在csdn相关的文章就数不胜数,安装和使用相关教程,基本上一搜就有,我就不赘述了,附赠两个链接:

Windows环境使用Minio如此简单_win搭建minio-优快云博客

MinIO在Linux上的详细使用教程_linux链接minio-优快云博客

这次主要是想教一下大伙怎么弄直链预览,因为我看到还是挺多人在问这方面问题的。

其实在csdn上,直链预览也已经有人教过了,只不过他们教的普遍都是通过后端下载文件,进行二次处理再暴露预览接口的方式实现的预览,会占用一定的性能和内存。

实际上,如果单纯是想做直链预览的话,有更简单的实现方式。


具体步骤

1.修改Minio上Bucket(存储桶)的配置

登录Minio后台,点击Administrator栏下的Buckets,然后选择你需要做直链预览的Bucket。

然后把 Access Policy 修改为 public权限。

这时,该Bucket内的所有文件都可以被直接访问了,但仅限于本地内网。

在Anonymous可以修改可以被直接访问的路径和权限,有需要可以去修改。

接下来,你就需要让外部也能访问该Bucket的文件。

注意:还有一个细节,就是如果你希望别人打开这个直链时,是直接预览,而不是下载,那你得好好看清楚,文件的属性,比如你的文件是图片,那么属性栏里的Content-Type就应该是图片类型才可以,否则浏览器只会默认进行下载。而不是预览。

2.配置Nginx

如何让外部也能访问你本地的Minio也很简单,答案就是用Nginx进行转发。

安装使用我就不谈了,直接上链接:

nginx安装与使用教程详解_nginx 安装使用-优快云博客

打开Nginx的conf配置文件,在http段新增如下配置:

upstream minio_servers {
    # 你minio服务所在ip地址以及端口
	server 129.1.2.78:9001 weight=10;
}

如果你是云服务器,那更简单了,正常来说服务商会给你分配一个外网地址和内网地址,Minio服务启动的时候应该会自动配置好外网地址和端口,你开放对应的端口就行了。

如果不行,那就用Nginx配一下,把内网的api地址转发到外部。

至于安全性,你又不是把控制台暴露出去,只是把api暴露出去了,权限设置成只读就行。

到这里,应该就可以在外部通过直链预览minio开放的文件了。


觉得这篇文章有用的朋友可以给我点个赞,收藏一下,尤其是修炼搬山诀的道友,你搬就搬吧好歹给哥们点点赞。

要根据正则表达式匹配IP地址,可以使用以下正则表达式: "((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})(\\.((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})){3}" 这个正则表达式可以匹配IP地址的各个部分,并确保每个部分的取值范围在0到255之间。 在Java中,可以使用java.util.regex包中的Pattern和Matcher类来进行正则表达式匹配。可以使用以下示例代码来实现IP地址的匹配: import java.util.regex.Matcher; import java.util.regex.Pattern; public class RegexMatches { public static void main(String args[]) { String str = ""; // 需要匹配的字符串 String pattern = "((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})(\\.((2(5[0-5]|[0-4]\\d))|[0-1]?\\d{1,2})){3}"; // IP地址的正则表达式 Pattern r = Pattern.compile(pattern); Matcher m = r.matcher(str); System.out.println(m.matches()); // 输出匹配结果,true表示匹配成功,false表示匹配失败 } } 你可以使用这段代码将要匹配的字符串赋值给str变量,然后通过调用m.matches()方法来判断是否匹配成功。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [正则表达式-匹配ip及rtsp](https://blog.youkuaiyun.com/wangchaox123/article/details/102753170)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顺德陈奕迅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值