Как найти источник ошибки SignatureDoesNotMatch на Minio - PullRequest
0 голосов
/ 06 марта 2019

Уже более года мы запускаем одностраничное приложение (SPA с Angular), которое получает объекты Json с предопределенными URL-адресами из .NET Core API. SPA отображает список и использует предопределенный URL для отображения изображения / видео (непосредственно загружено с

Внезапно некоторые из предопределенных URL-адресов в списке все еще работают, другие вызывают ошибку SignatureDoesNotMatch, когда изображение / видео внедрено. Остальные работают.

<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 и мог бы помочь мне создать контрольный список для поиска источника этой ошибки.

Пока у меня есть:

  1. Config (ключ доступа, секретный ключ, хост): так как большинство URL работают, некоторые не должны это быть действительными

  2. Генерация URL: для работающих и не работающих URL я генерирую их с помощью Minio .NET SDK (3.02).

await _minio.PresignedGetObjectAsync(bucket, key, ttl); 
await _minio.PresignedPutObjectAsync(bucket, key, ttl); 
  1. Смешивание get и put url: Может ли это быть причиной? На снимках экрана в отчете об ошибке показаны предварительно назначенные URL-адреса, но я не видел указателя в URL-адресе, если он был сгенерирован как введенный или полученный URL-адрес.

1 Ответ

0 голосов
/ 07 марта 2019

@ monty У меня недостаточно информации для устранения причины.Это может быть вызвано, возможно, неправильной кодировкой имени объекта, которая могла быть исправлена ​​в более новых версиях minio и minio dot-net SDK.

Какую версию minio вы используете?Я вижу, что вы используете версию Minio Dotnet 3.0.2.

Это происходит с определенными именами файлов и объектов?

...