- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个基本测试,以确保我的 minio 安装正常工作。我按照他们使用 presigned POST policy 的示例编写了一个测试它工作得很好,但我似乎无法创建预签名 PUT 的工作示例。我收到 403 Forbidden
,原因如下:
cause="Signature does not match"
source="[objecthandlers.go:468:objectAPIHandlers.PutObjectHandler()]"
这是测试代码。我已经 promise 了 minio javascript API 并使用磁带作为测试工具。 POST 策略的类似代码工作得很好。
编辑:这是问题根源的重要部分:
var minio = new Minio.Client({
endPoint: 'minioTest', // <- the problem
port: 9000,
secure: false,
accessKey: 'DONALDJTRUMP',
secretKey: 'DONALDJTRUMP'
});
test('should be able to PUT to a presigned URL', function(assert) {
const filename = 'signedtest2.txt';
return minio.presignedPutObjectAsync(bucket, filename, 60)
.then(url => {
assert.ok(url.length > 200, 'URL is non empty');
console.log(url);
return agent
.put(url)
.set('Content-Type', 'text/plain')
.attach('file', 'test/data/test.txt');
}).then(r => {
assert.ok(r.ok);
console.log(JSON.stringify(r, null, 2));
}).catch(err => {
assert.fail('got error', err);
console.log(err);
});
});
我做错了什么导致我收到 403 Forbidden 错误?
最佳答案
SuperAgent、minio-js 或 minio 服务器不喜欢在主机名(端点)中包含大写字符。唉,我使用的是 docker,它会自动分配主机名,因此如果您使用驼峰命名法作为容器名称,则允许这样做,而我只是剪切并粘贴了容器名称。
将此行更改为小写可以解决问题:
endPoint: 'miniotest', // <- this must be lower case
主机名是 case insensitive所以这应该不重要..我还没有确定它是哪个组件,但在生成或验证签名时可能会强制转换为小写,因此它们不匹配。
我注意到我不必将容器更改为驼峰命名法。
关于javascript - minio 预签名 put 与 superagent 结果为 403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42050505/
我正在使用 aws-sdk-go ( https://github.com/aws/aws-sdk-go ) 连接 AWS S3。我还想通过相同的代码支持 MinIO ( http://minio.i
是否可以完全禁用本地和 CI 使用的 MinIO 身份验证?一些背景知识:我们正在从 LocalStack 迁移到 MinIO,并且大量代码依赖于对 S3 的未经身份验证的访问,因此完全禁用身份验证是
我已将 MinIO 存储桶的访问权限设置为“下载”,以便任何人都可以读取(但不能写入)文件,但这启用了显示整个存储桶内容的“索引页面”。例如,考虑包含文件 example.png 的存储桶 store
我们有一个 minio 服务器。到目前为止,匿名用户无法做任何事情。 现在我们希望允许他们在知道路径时下载对象。 例如https://minio.example.com/minio/download/
我已经从我的 android 客户端在 minio 服务器( https://play.minio.io:9000 )中上传了一些图像和视频。现在我已经能够从该文件夹下载上传的内容。我可以看到内容不是
我正在使用其 docker 镜像运行 Minio 服务器。 docker run -p 9000:9000 --name minio1 \ -e "MINIO_ACCESS_KEY=user" \
使用Python客户端,如何递归上传本地目录下的所有文件到Minio,同时保留目录结构? 最佳答案 此递归函数上传所有文件,前提是 Minio 客户端已预先初始化: import glob def u
我正在通过以下命令使用 minio 5.0.1: pip install minio 但是我还是报错 Traceback (most recent call last): File "minio.
使用Python客户端,如何递归上传本地目录下的所有文件到Minio,同时保留目录结构? 最佳答案 此递归函数上传所有文件,前提是 Minio 客户端已预先初始化: import glob def u
我正在通过以下命令使用 minio 5.0.1: pip install minio 但是我还是报错 Traceback (most recent call last): File "minio.
我在安装 Minio 时遇到问题。 Minio 租户卡在“等待 MinIO TLS 证书”状态。租户是由 helm chart 还是由附加的 yaml 创建的并不重要。即使我从 Minio Web 控
我已经在 minio.io 上搜索了几个小时,但 id 没有提供任何关于聚类的好信息,它是否有环和实例是否连接?或 mini 仅用于单台隔离机。为了运行集群,我们必须运行它的许多独立实例,我们的应用程
我在 docker-compose 的容器中运行一个 minio-server。我正在尝试使用 minio-client(python SDK)从主机(Ubuntu)(而不是容器)将文件上传到容器中的
简单的问题: 我想知道如何使用 minio 作为本地 S3 代理来保存 Airflow 发送的数据,而不是使用 S3 或 GCS。我该怎么做呢?我真的可以使用 FileToGoogleCloudSto
上下文: 从 docker hub 获得 minio(与 s3 兼容的存储) 在 Unbuntu (VirtualBox) 中运行 minio docker 镜像 主机操作系统:Mac 或 Win10
docker安装 1、拉取镜像 docker pull minio/minio 2、启动镜像 docker run -p 9000:9000 -p 9001:9001 --name minio -
Mino 对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化
我正在使用minio来管理文件 const getMinioClient = () => { const minioClient = new Minio.Client({ endPoint
我在 Minio 中存储了大量对象。我需要将它们从一个桶移到另一个桶。由于对象的数量很大(以及对象本身的大小),我不想将它们上传到内存中。 到目前为止,我发现的唯一方法是将对象复制到目标存储桶并将它们
我想将元数据添加到 Minio 对象,同时使用 python 将文件作为对象添加到 Minio 对象存储。我能够找到存储在 Minio 上的对象的访问元数据。但是没有在将文件添加到 Minio 存储时
我是一名优秀的程序员,十分优秀!