Amazon S3 и Cross-Origin Resource Sharing (CORS)
-
12-10-2019 - |
Вопрос
Amazon S3 разрешает пользовательские заголовки? Или мне не повезло?
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-SOMETHING
Access-Control-Max-Age: 1728000
Пример
var request = new XMLHttpRequest();
var url = 'http://example.s3.amazonaws.com/templates/welcome.html';
function callOtherDomain(){
request.open('GET', url, true);
request.withCredentials = "true";
request.onreadystatechange = handler;
request.send();
}
Решение
CORS теперь официально поддерживается на S3: http://docs.amazonwebservices.com/amazons3/latest/dev/cors.html
Другие советы
В настоящее время существует ограниченное количество заголовков http http, поддерживаемых S3.
Заголовки Access-Control-Allow-* в настоящее время не поддерживаются: https://forums.aws.amazon.com/thread.jspa?threadid=34281&tstart=0
ОБНОВИТЬ:
Поддержка совместного использования ресурсов кросс-иноригина добавлена:https://forums.aws.amazon.com/ann.jspa?annid=1620
S3 Browser Freeware также поддерживает эту функцию:http://s3browser.com/s3-bucket-cors-configuration.php
Список поддерживаемых заголовков HTTP можно найти здесь: http://docs.amazonwebservices.com/amazons3/latest/api/index.html?restobjectput.html
Сегодня Amazon объявляет о полной поддержке CORS, поэтому теперь вы можете использовать HTML5, например, для файлов Drag & Drop непосредственно на Amazon S3.