Amazon s3 如何查找Minio上SignatureDesNotMatch错误的源
一年多以来,我们一直在运行一个带有Angular的单页应用程序SPA,它从.NET核心API接收带有预签名URL的Json对象。SPA显示一个列表,并使用预先指定的url显示直接从 突然间,列表中一些预先签名的URL仍然有效,其他URL在嵌入图像/视频时会导致SignatureDesNotMatch错误。其他人工作Amazon s3 如何查找Minio上SignatureDesNotMatch错误的源,amazon-s3,.net-core,minio,Amazon S3,.net Core,Minio,一年多以来,我们一直在运行一个带有Angular的单页应用程序SPA,它从.NET核心API接收带有预签名URL的Json对象。SPA显示一个列表,并使用预先指定的url显示直接从 突然间,列表中一些预先签名的URL仍然有效,其他URL在嵌入图像/视频时会导致SignatureDesNotMatch错误。其他人工作 <Error><Code>SignatureDoesNotMatch</code><Message>The request signa
<Error><Code>SignatureDoesNotMatch</code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>...
也许有人对Minio/S3有经验,可以帮助我建立一个检查列表来查找这个错误的来源
到目前为止,我已经:
配置访问密钥、密钥、主机:由于大多数URL都可以工作,有些URL不可以,所以这应该是有效的
Url生成:对于工作Url和非工作Url,我使用Minio.NETSDK3.02生成它们
混合使用get和put URL:这可能是一个原因吗?bug报告中的屏幕截图显示了预先签名的url,但我还没有在url中看到指示符,如果它是作为put或get url生成的。
@蒙蒂:我没有足够的信息来解释根本原因。这可能是由于对象名称的编码不正确造成的,在较新版本的minio和minio.net SDK中可能已修复该错误 您使用的minio版本是什么?我看到您正在使用Minio Dotnet 3.0.2版本
某些文件和对象名会发生这种情况吗?有趣的是,原因可能是凭据访问和密钥包含特殊字符,如!
await _minio.PresignedGetObjectAsync(bucket, key, ttl);
await _minio.PresignedPutObjectAsync(bucket, key, ttl);