Загрузка S3 CORS прерывается после прохождения OPTIONS

Я пытаюсь загрузить файл из своего браузера, и он вообще не работает.

Моя конфигурация корзины CORS:

<?xml version="1.0" encoding="UTF-8"?>
 <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>PUT</AllowedMethod>
        <AllowedMethod>POST</AllowedMethod>
        <AllowedMethod>GET</AllowedMethod>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
        <AllowedHeader>*</AllowedHeader>
    </CORSRule>
</CORSConfiguration>

И в моем коде я отправляю это:

xhr.open('PUT', "http://upload.test.s3.amazonaws.com/" + uploadFile.get("dest") +'?' +   "partNumber=" + (part + 1) +  "&" + "uploadId=" + uploadFile.get("uploadId"), true);
xhr.setRequestHeader("Authorization", uploadFile.get("authorization"));
xhr.setRequestHeader("x-amz-date", uploadFile.get("date"));
xhr.setRequestHeader("Content-Type", uploadFile.get("rawFile").type);
xhr.setRequestHeader("x-amz-acl", "public-read");
xhr.send(chunk);

Ps: файл uploadFile имеет некоторые свойства, такие как ключ авторизации и uploadId, которые поступают с сервера.

Когда начинается загрузка, я передаю запрос OPTIONS, но запрос Put прерывается через несколько секунд (обычно через 4-5 секунд после отправки некоторого процента контента). К сожалению, он прерывается без обратной связи. Может кто знает что может быть??

Спасибо!

Изменить: в основном я использую https://github.com/LearnBoost/knox, чтобы получить UploadId из многокомпонентная загрузка (работает, если я использую сервер для всей операции загрузки)


person Thiago Miranda de Oliveira    schedule 18.02.2013    source источник


Ответы (1)


Похоже, что сервер не может использовать подстановочные знаки (например, "*"), если вы используете авторизацию CORS: проверьте это вне.

Вы пытались указать запрашивающий домен в заголовке AllowedOrigin своего сегмента?

person alexcasalboni    schedule 01.12.2013