Linux下设置Minio永久访问链接
众所周知minio的分享链接,最多支持7天,且minioClient 没有设置永久链接的api,要想设置永久链接,须通过minio客户端 mc
来配置。
而网上的博客几乎所有的都千篇一律,操作步骤不全,且漏掉一些重要的参数,导致有许多人踩坑,加之minio资源在外网,下载及其缓慢,网上也没人弄个网盘链接,故有此一篇。文末有网盘链接。
1.准备:
执行客户端操作,默认你已经搭建好了Minio服务器,如何搭建Minio服务器,这里就不在赘述。
2.资源上传、分配权限:
将下载好的minio客户端:mc 上传至你的Linux服务器,并配置操作权限:
chmod +x mc
如不执行此步骤,再接下的执行命令会报权限不够的错误。
3.将mc 连接到你的minio服务器
在你的mc存放目录下执行:
alias mc="./mc"
然后执行:
mc config host add minio http://ip:9000 minio服务器用户名 minio服务器密码 --api S3v4
注意:端口不能漏,–api不能漏,如果漏掉--api
执行后会报错:
mc: <ERROR> Incorrect number of arguments for alias set command. Invalid arguments provided, please refer `mc <command> -h` for relevant documentation.
如果执行上述步骤没有报错信息,会有成功的信息显示
Added `minio` successfully.
4.设置永久访问桶
执行命令:
mc policy set public minio/桶名
这个桶名就是你要设置永久链接的桶名,成功会有提示:
Access permission for `minio/桶名` is set to `public`
至此永久访问链接就设置成功了。
5.最终目的
但是问题来了,我们的目的是希望minioclient api生成的链接能永久访问:
String url = client.presignedGetObject(bucketName, objectName, expires);
虽然我们把桶设置了public,但此时通过api生成的访问链接还是有过期时间的,取决于expires的设置,最大7天
所以我们需要把api生成的链接进行改造:
http://ip:9000/test/timg.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minioadmin%2F20201110%2F%2Fs3%2Faws4_request&X-Amz-Date=20201110T154002Z&X-Amz-Expires=432000&X-Amz-SignedHeaders=host&X-Amz-Signature=925543f3a113f52362c5160ed7aa1cdf2c22d9104724d1153278592a1bae86a5
把生成的链接通过?
切割,得到前面的部分,就是可访问的永久链接。
Linux mc百度网盘:
[百度网盘]: https://pan.baidu.com/s/1S8kxlFlv12hahuyaWyRsUQ
提取码:MCtq