自建对象存储!黑群晖搭建minio,兜兜转转,终于成功了!
起因
我一直想搭建一个视频、音乐网站(LTDZ.ORG),但由于服务器带宽较小,我决定使用对象存储。国内有很多值得点赞的免费对象存储服务,比如七牛。注册后就永久赠送 10G 的存储和流量,还有一个月的免费域名使用。当然,对于我和阅读这篇文章的朋友们来说,域名并不缺。但七牛的服务确实不错,于是我顺理成章地注册并使用了七牛。
意外
就在我以为一切顺利时,问题出现了。我的网站配置了 HTTPS,但视频和图片就是无法加载。我反复检查了几个小时,发现问题出在浏览器上。这里涉及到一个概念——
“混合内容”混合内容是指当受 TLS 保护的网站包含通过不安全 HTTP 协议加载的元素时出现的情况
显然,我的网站视频和图片被浏览器屏蔽了。而七牛的 HTTPS 需要绑定自己的域名,而我的域名还在备案中。此外,七牛的 HTTPS 流量也不是免费的。于是我决定放弃七牛,另寻他法。
希望
在我一筹莫展、几乎放弃建站梦想时,找到了新的希望——Minio,自建对象存储。家里刚好有一台黑群晖在运行,用于 24 小时无人直播和搭建 MC 服务器。于是我决定再搭建一个对象存储站。我使用群晖的 Docker 来搭建,但不出意外地,意外再次出现了。群晖的 Docker 搭建的 Minio 一直无限重启,甚至日志也没有报错。查遍资料后,决定在群晖的宿主机上进行搭建。尽管过程并不顺利,但至少日志有了错误提示。经过一番修修补补,终于搭建成功。
但任务远未结束。Minio 的权限设置让我困惑,我希望能设置一个永久外链,且只有只读权限。但 Minio 的权限只有两种:私人和公开。私人谁也不能访问,公开则整个存储桶都可以被上传、读取和删除。这让我很无奈。
解决方案
经过进一步查阅资料,了解到可以设置两个端口,一个用于面板控制,一个用于视频和图片文件的访问。例如:
636.su:123 可以用来访问面板,对视频进行上传,修改,删除。但是这个端口没法播放视频。
636.su:456 可以用来进行视频的播放,下载。但是这个端口没办法对视频文件进行编辑。
虽然存储桶是公开设置,但由于 123 端口只允许内网访问,文件依然是安全的。
这是我目前的理解哈,可能不够正确,系统,完善。有大佬更加了解,欢迎评论区补充!
成果
最终,我为 Minio 配置了 SSL,实现了 HTTPS 访问。家庭云的流量和存储费用基本可以忽略。一个视频网站的雏形就在这兜兜转转中完成了。未来必定会有无数的困难和意外,但我一定不会轻易放弃!
最后,贴上我最终完成部署的 Docker 命令。因为使用的是黑群晖的宿主机,所以理论上都适配,能够简单搭建出来。希望需要的朋友一切顺利,不用再走那么多弯路!
docker run -d \-p 外端口:9000 \-p 内端口:9001 \ --name minio --restart=always --privileged=true \ -v /volume1/docker/minio/data:/data \ 数据存放地址 -v /volume1/docker/minio/config:/root/.minio \ -v /volume1/docker/minio/certs:/root/.minio/certs \ 放crt格式ssl证书 -e "MINIO_BROWSER_DEFAULT_LOCALE=zh_CN" \ -e "MINIO_ROOT_USER=账户(五位以上)" \ -e "MINIO_ROOT_PASSWORD=密码(八位以上)" \ minio/minio:RELEASE.2023-04-28T18-11-17Z server 使用这个版本是因为我的设备硬件比较差,新版本无法使用 /data --console-address ":9001"
本文作者为zpdr,转载请注明。