Closed xyz-dev closed 3 years ago
我们需要MinIO启用Virtual Hosted-Style,所以使用Minio的时候需要绑定一个域名,然后需要给MinIO设置环境变量MINIO_DOMAIN=minio.localhost。 https://stackoverflow.com/questions/59693471/how-to-setup-minio-server-to-use-virtual-hosted-style
最后把zpan配置文件中的endpoint设置为 http://minio.localhost 即可
修改了配置 可以上传,图床 预览好像还有问题
provider:
name: s3
bucket: zpan
endpoint: http://mao3.c:9000
accessKey: minioadmin
accessSecret: minioadmin
minio 配置了 MINIO_DOMAIN="mao3.c"
docker run -d --name minio -e MINIO_DOMAIN="mao3.c" -p 9000:9000 jessestuart/minio server /usr/local/minio/storage
图床 ->添加图片->缩略图错误,在 “全部文件->图片” 下点击查看没有问题
这里确实没注意,应该是权限问题,图床的链接是不带签名的,得需要MinIO支持公开访问。可以查下能不能配置
配置策略可行,但图床的图片和其它非公开都放置到一个目录 无法区分设置策略
mc config host add minio http://xxxxx:9000 xxxx xxxx --api s3v4
mc policy set public minio/zpan
https://docs.min.io/docs/minio-client-complete-guide#policy
https://docs.min.io/cn/minio-server-limits-per-tenant.html
临时方案解决: 修改源码 rest/bind/file.go 使用一个固定目录存储图床,再配置策略:mc policy set public minio/zpan/.pics
prefix := timeutil.Format(time.Now(), "YYYYMMDD")
if p.Public {
m.ACL = model.AclPublic
prefix = ".pics"
}
m.Object = fmt.Sprintf("%s/%s%s", prefix, m.Alias, filepath.Ext(p.Name))
较好的做法应该是在配置文件中支持这个可选配置并修改provider/provider_s3.go的SignedPutURL方法,可否考虑下?
确实 目前图床文件没有单独存储到一个独立的目录 后续我们看下怎么优化下
vscode debug master code
zpan.yml: