Проблема с URL-адресом 403 Azure Blob SAS - PullRequest
0 голосов
/ 15 февраля 2019

У меня очень странная проблема с лазурной каплей.У меня есть контейнер изображений, к которому я обращаюсь с использованием SAS URL-адреса.

"https://{storageName}.blob.core.windows.net/{container}/target_6ace5a78-83a9-4579-b348-2d0097aa1873/a85b8a1c-41c7-42f4-b8cb-a6389cd4cb2a?sp=rwdl&st=2019-02-14T10:25:00Z&=2020-02-16T10:25:00Z&sv=2018-03-28&sig={signatureKey}&sr=c"

Когда я использую указанный выше URL в своем браузере, он выдаёт 403, но когда яизменив вышеуказанный URL, как показано ниже, он работает нормально. Единственное изменение - теперь его кодирование, т.е. & заменено на &

"https://{storageName}.blob.core.windows.net/{container}/target_6ace5a78-83a9-4579-b348-2d0097aa1873/a85b8a1c-41c7-42f4-b8cb-a6389cd4cb2a?sp=rwdl&st=2019-02-14T10:25:00Z&=2020-02-16T10:25:00Z&sv=2018-03-28&sig={signatureKey}&sr=c"

Я не могу понять проблему, потому что без закодированного URL-адреса также работают другие URL-адреса SAS других контейнеров, но в этом конкретном контейнере зачем мне нужен закодированный URL-адрес?

1 Ответ

0 голосов
/ 15 февраля 2019

Таким образом, вы получаете ошибку 403 в первом URL-адресе, потому что в вашем URL-адресе отсутствует параметр se.Если вы измените свой URL-адрес на:

"https://{storageName}.blob.core.windows.net/{container}/target_6ace5a78-83a9-4579-b348-2d0097aa1873/a85b8a1c-41c7-42f4-b8cb-a6389cd4cb2a?sp=rwdl&st=2019-02-14T10:25:00Z&se=2020-02-16T10:25:00Z&sv=2018-03-28&sig={signatureKey}&sr=c"

Ваш запрос должен работать очень хорошо.

Относительно того, почему ваш второй URL работает, потому что хранилищеслужба полностью игнорирует строку запроса, так как контейнер BLOB-объектов не имеет ACL Private. Поэтому, если просто скопировать и вставить следующий URL:

"https://{storageName}.blob.core.windows.net/{container}/target_6ace5a78-83a9-4579-b348-2d0097aa1873/a85b8a1c-41c7-42f4-b8cb-a6389cd4cb2a"

Вы должны увидеть, что BLOB-объект загружается.

...