-e
"MINIO_ROOT_USER=minioroot"
\
-e
"MINIO_ROOT_PASSWORD=minioroot"
\
-v /home/yyp/minio/data:/data
\
-v /home/yyp/minio/config:/root/.minio minio/minio:RELEASE.2022-02-12T00-51-25Z server /data --console-address
":9001"
http://192.168.67.199:9001/login
上传一个图片并生成分享链接
我们把它换成主机ip,发现报错了
<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
<Key>1560682028169.png</Key>
<BucketName>test</BucketName>
<Resource>/test/1560682028169.png</Resource>
<RequestId>16E5CACF015B0B7C</RequestId>
<HostId>23179b6e-b776-4ac8-a06c-dd4c9f2aad62</HostId>
</Error>
处理方法:把ip换做外网ip,并去掉验证信息
我生成分享链接的目的是把minio当作一个图床服务器,后来发现在html中使用img标签中使用
ip:端口/桶名/图片文件名
如:http://192.168.67.199:9000/test/350eef54-361d-43b9-a6e3-9515fd46b09f.png
<img src="http://192.168.67.199:9000/test/350eef54-361d-43b9-a6e3-9515fd46b09f.png">
即可看到图片
新版本minio,分享地址带了ip,如果使用docker部署,分享地址内的ip则是docker内的ip,复制地址替换为宿主机地址访问会报错。解决方案:启动时增加环境变量:MINIO_SERVER_URL:http://宿主机ip:宿主机映射的9000端口改环境变量值为:宿主机ip和宿主机的映射端口...
docker run -p 19000:9000 -p 19090:9090 --name minio-test -d --restart=always -e "MINIO_ACCESS_KEY=账号" -e "MINIO_SECRET_KEY=密码" -e "MINIO_SERVER_URL=http://外网ip:19000" -v /virtual/minio/test/data:/data -v /virtual/minio/test/config:/root/.minio minio/minio
上一篇文章介绍了minio之对象存储的访问链路minio之对象存储常用访问链路介绍_神云瑟瑟的博客-CSDN博客本篇主要主要介绍标准链路中的临时凭证的生成和使用,以及分享链接的生成主要的pom文件
二、临时凭证的生成,并使用
使用永久凭证构造AssumeRoleProvider对象,然后得到临时accesskey和secretkey。然后再构造StaticProvider对象最后生成minioclient。注意点:临时凭证的默认过期时间是1个小时,可以自定义设置,但是如果设置的值小于1小时,会被
MinIO 可以被当做一个轻量级的云盘或文件数据库,默认存储在桶里的文件只能分享7天,但是当我想把它当做文件数据库时,就需要将文件分享设置为永久,那么该如何做呢?
官方文档在 MinIO Admin 中有对桶的策略进行设置:
将桶设置为可永久分享:
bucket_policy = {
'Version': '2012-10-17',
'Statement': [
'Effect': 'Allow',
'Principal'
报签名计算匹配错误,后来找了一大堆网络方案,巴拉巴拉一堆误导,下面是我的解决方案。搭建起来Minio以后,使用文件分享的功能分享视频,然后分享的链接是这样的。说明这个文件路径无法匿名访问,改一下桶的权限为公共就行了。然后我就直接放到内网其他机器浏览器中访问,出现这种情况。改成部署了Minio的机器的ip,我这里改成了。我要在内网其他机器访问这个链接,肯定需要先把。③ 我拼接的可直接访问文件的地址就是。① 我的Minio所在的ip是。,分享文件时指向的端口是。② 我的文件路径是这样。然后就可以正常访问了。
一、minio图片服务器
拥有两个端口号,一个时web端控制台端口号,一个是上传时使用的端口号
在后端配置的是内网地址,直接使用minio返回的url进行展示的话,外网无法正常展示
二、图片展示
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
然后用s3客户端请求时会出现这个错误
The request signature we calculated does not match the signature you provided. Check your key and signing method. (Service: Amazon S3; Status Code: 403; Error Code: SignatureDoesNotMatch; Reques