标签 minio 下的文章

穷人的孩子早当家是有一定道理的。由于用不起某里云的 OSS (对象存储)服务,自己折腾了一番。期间踩坑若干,故自行记录聊以慰籍。

技术选型是采用 MinIO 与 Thumbor 无疑,网上相关的文章也很多。我的故事分为 5 个节点:

0x00、最初的记忆——Docker 安装

是的,我一开始打算以 Docker 方式部署。

MinIO 的 Docker 部署方式可以完全参照官方文档进行:

docker run \
  -d \
  -p 9000:9000 \
  -p 9001:9001 \
  --name minio \
  -e MINIO_ROOT_USER='xxx' \
  -e MINIO_ROOT_PASSWORD='xxx' \
  minio/minio server /data --console-address ':9001'

MINIO_ROOT_USER 与 MINIO_ROOT_PASSWORD 是登录 MinIO Console 的账号密码,记得替换。

而 Thumbor 则是选择了一个叫做 Minimal Compact Thumbor 的镜像,真的是简单:

docker run -p 8888:80 minimalcompact/thumbor

一行搞定。

搞到这里,MinIO 已通过 Docker 方式跑起来了,本地测试 Thumbor 发现无法处理 MinIO 提供的私有地址,比如以下这种情况。

通过调用 MinIO 的 getPresignedObjectUrl 接口获取的私有地址:

http://127.0.0.1:9000/test/test.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=348201GIYPQI49I606RF%2F20210713%2Fxxx%2Fs3%2Faws4_request&X-Amz-Date=20210713T042509Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=xxx

Thumbor 处理的地址:

http://127.0.0.1:8888/unsafe/500x0/http://127.0.0.1:9000/test/test.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=348201GIYPQI49I606RF%2F20210713%2Fxxx%2Fs3%2Faws4_request&X-Amz-Date=20210713T042509Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=xxx

结果报 400 错误。

- 阅读剩余部分 -