Итак, мы создаем веб-платформу потокового аудио, где аудиофайлы хранятся в хранилище памяти. Мы создаем URL-адрес SAS для блоба, а затем загружаем его в javascript-плеер (aurora).Sporadic 403 запрещен при доступе к хранилищу Azure blob через SAS
Это работает отлично по большей части, однако, когда я много переключаю дорожки, в какой-то момент я начинаю получать 403 ответа на запрос HEAD файла.
Если я нажму на RESEND в firebug, который просто передает тот же самый запрос, то иногда я все равно получаю ту же ошибку 403, но через некоторое время запрос снова сработает, а это значит, что URL-адрес сформирован правильно.
Ниже приводится полный ответ я получаю
403 Server failed to authenticate the request. Make sure the value of
Authorization header is formed correctly including the signature.
Transfer-Encoding: chunked Server: Microsoft-HTTPAPI/2.0
x-ms-request-id: <removed>
access-control-expose-headers:
Content-Type,Accept-Ranges,Content-Encoding,Content-Length,Content-Range
Access-Control-Allow-Origin: * Date: Fri, 12 Aug 2016 06:31:58 GMT
я начинаю думать, что какое-то ограничение на хранение больших двоичных объектов срабатывает, например, максимальное количество соединений или ограничение пропускной способности, возможно, даже защитный маханизм DOS. Есть ли у кого-нибудь предложения?
Я прочитал несколько статей о диагностике в хранилище, но все они относятся к старым порталам Azure. Моя учетная запись хранится только на новом портале. Таким образом, мое подтекстование было бы: может ли кто-нибудь направить меня к способу диагностики того, почему запросы отклоняются, используя новый портал Azure?
Редактировать: Я использовал Azure Management Studio, чтобы просмотреть журналы учетной записи хранилища. Я нашел лаглинь в там, задающее «SASNetworkError»:
1.0;2016-08-12T10:26:27.7337647Z;GetBlob;SASNetworkError;206;19002;6;sas;;[xxx];blob;"https://[xxx].blob.core.windows.net:443/files/[xxx].flac?sv=2015-04-05&sr=b&si=flacpolicy636065943797947863&sig=XXXXX&sip=[xxx]";"/[xxx]/files/[xxx].flac";8f7d48a3-0001-0017-5983-f499a7000000;0;[xxx]:40690;2015-04-05;637;0;499;0;0;;;""0x8D35C8CDDD72689"";Monday, 04-Apr-16 13:27:27 GMT;;"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0";"http://[xxx].azurewebsites.net/";
Похоже, что это является причиной ошибки, но я не могу понять, что это такое, что это не удается.
Azure Storage не будет работать из-за возможности подключения - это довольно массивная система хранения с несколькими арендаторами. Вы экспериментировали с тем, что время начала SAS было немного в прошлом, может быть, минуту или две (и, возможно, время окончания бит в будущем, если это короткое окно действия)? Дрифт часов может привести к тому, что ваш SAS окажется недействительным в течение короткого времени. –
Спасибо за предложение, Дэвид. Я уверен, что Azure может справиться с этим как с системой, но я больше думал о конкретных ограничениях для нашей учетной записи. Я ушел с пустого времени, но теперь я попытался установить его вчера. Я также установил время истечения срока на несколько лет вперед, но никаких кубиков ... ошибка все еще происходит. –