S3 - Access-Control-Allow-Origin Header

187

Кому-нибудь удалось добавить Access-Control-Allow-Originв заголовки ответа? Что мне нужно, это что-то вроде этого:

<img src="http://360assets.s3.amazonaws.com/tours/8b16734d-336c-48c7-95c4-3a93fa023a57/1_AU_COM_180212_Areitbahn_Hahnkoplift_Bergstation.tiles/l2_f_0101.jpg" />

Этот запрос get должен содержать в ответе заголовок, Access-Control-Allow-Origin: *

Мои настройки CORS для корзины выглядят так:

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

Как и следовало ожидать, Originзаголовок ответа отсутствует .

Wowzaaa
источник
4
Возможный дубликат stackoverflow.com/questions/17570100/…
Кевин Бордерс
1
Единственное, чего не хватает в этом: <ExposeHeader> Access-Control-Allow-Origin </ ExposeHeader>
Dimitry

Ответы:

198

Обычно все, что вам нужно сделать, это «Добавить конфигурацию CORS» в свойствах вашего сегмента.

амазонка экран выстрел

<CORSConfiguration>Поставляется со значениями некоторых по умолчанию. Это все, что мне нужно для решения вашей проблемы. Просто нажмите «Сохранить» и попробуйте еще раз, чтобы увидеть, сработало ли это. Если этого не произойдет, вы также можете попробовать приведенный ниже код (из ответа alxrb), который, похоже, работает для большинства людей.

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

Для получения дополнительной информации вы можете прочитать эту статью о редактировании разрешения на ведро .

Флавио Вуенше
источник
4
Кажется, это возможно. Попробуйте прочитать ссылку выше (в ответ) или перейдите прямо к этой ссылке
Флавио
7
Спасибо. Простое нажатие кнопки «Сохранить» позволило загрузить мои шрифты.
Таня Раскиа
2
Я замечаю, что это работает иногда, а иногда я получаю ошибку браузера после редактирования. Не уверен, что это CloudFlare или S3.
Марк
4
Возможно, вам понадобится добавить HEADв AllowedMethods
jordanstephens
32
Не работает для меня В ответе на запросы HEAD или GET все еще нет заголовка «Access-Control-Allow-Origin».
carpiediem
104

У меня была похожая проблема с загрузкой веб-шрифтов, когда я щелкнул «добавить конфигурацию CORS» в свойствах корзины, этот код уже был там:

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

Я просто нажал «Сохранить», и это сработало, мои пользовательские веб-шрифты загружались в IE & Firefox. Я не эксперт в этом, я просто подумал, что это может вам помочь.

alxrb
источник
12
Спасибо! Это сделало это для меня. Я дошел до того, что нажал «добавить конфигурацию CORS», но не понял, что мне нужно нажать «сохранить», потому что я думал, что смотрю на конфигурацию по умолчанию. D'о.
Джек Кушман,
35
Я должен был <AllowedHeader>*</AllowedHeader>заставить его работать (лучше делать новое правило для вашего сайта только при этом)
парламент
4
У @par Parliament была магия, так как все остальные настройки не помогли, пока <AllowedHeader> не был установлен в шаблон. Ура.
Нил Маги
Я перешел к настройкам CORS и нашел там те же настройки, но <AllowedOrigin> * </ AllowedOrigin> стал активным, когда я нажал сохранить. Это не было раньше.
dvdmn
1
Вот и все, нажмите Сохранить
Лапинкойра
48

Если в вашем запросе не указан Originзаголовок, S3 не будет включать заголовки CORS в ответ. Это действительно меня расстроило, потому что я продолжал пытаться свернуть файлы, чтобы проверить CORS, но curl не включает Origin.

eremzeit
источник
2
я просматривал интернет уже 2 недели, во всех статьях и ответах говорилось об изменении конфигураций S3 CORS, которые я делал, как они сказали, но без изменений в ответе, пока я не увидел ваш ответ, он имеет смысл для меня, я протестировал его с помощью почтальон и его работа! так что большое спасибо
Абдалла Аввад Альхвалда
1
Кто-нибудь знает, как я могу изменить заголовки imgтега? Я не могу отправить разные заголовки, браузер отправляет запрос
idan
1
OMG это где-нибудь задокументировано?
Даркович
2
Это :) docs.aws.amazon.com/AmazonS3/latest/dev/… > Убедитесь, что запрос имеет заголовок Origin. Если заголовок отсутствует, Amazon S3 не обрабатывает запрос как запрос перекрестного источника, и не отправляет заголовки ответа CORS в ответе.
Даркович
46

@jordanstephens сказал об этом в комментарии, но это отчасти потеряно и было очень легко исправить для меня.

Я просто добавил метод HEAD и нажал кнопку «Сохранить», и он начал работать.

<CORSConfiguration>
	<CORSRule>
		<AllowedOrigin>*</AllowedOrigin>
		<AllowedMethod>GET</AllowedMethod>
		<AllowedMethod>HEAD</AllowedMethod> <!-- Add this -->
		<MaxAgeSeconds>3000</MaxAgeSeconds>
		<AllowedHeader>Authorization</AllowedHeader>
	</CORSRule>
</CORSConfiguration>

Сеница Гонсалес
источник
3
это работает по состоянию на 17 января 2018 года, принятый ответ является позором. LOL
lasec0203
4
Ага. Это исправляет ошибку «Нет заголовка Access-Control-Allow-Origin» в Chrome при получении таких вещей, как шрифты из AWS S3.
Nostalg.io
1
Да! Огромное спасибо. Позволяющий HEADметод сделал свое дело.
Зак
37

Это простой способ сделать эту работу.

Я знаю, что это старый вопрос, но все еще трудно найти решение.

Для начала, это сработало для меня в проекте, построенном на Rails 4, Paperclip 4, CamanJS, Heroku и AWS S3.


Вы должны запросить свое изображение, используя crossorigin: "anonymous"параметр.

    <img href="your-remote-image.jpg" crossorigin="anonymous"> 

Добавьте URL своего сайта в CORS в AWS S3. Вот ссылка от Amazon об этом. В общем, просто перейдите к своему ведру, а затем выберите « Свойства » на вкладках справа, откройте « Вкладку разрешений », а затем нажмите « Редактировать конфигурацию CORS ».

Изначально я < AllowedOrigin>настроился на *. Просто замените эту звездочку на свой URL, не забудьте включить опции, такие как http://и https://в отдельных строках. Я ожидал, что звездочка принимает «Все», но, очевидно, мы должны быть более конкретными, чем это.

Вот как это выглядит для меня.

введите описание изображения здесь

Орасио
источник
1
в отличие от принятого ответа, это на самом деле работает! Даже ClaudFront CDN, загружающий этот S3, копирует эти заголовки. Спасибо, чувак, спас меня пару часов!
эквивалент 8
5
Если вы используете CloudFront, вы также можете смотреть на это - blog.celingest.com/en/2014/10/02/...
Кунал
1
Благодаря ссылке @ Kunal. CloudFront добавляет уровень сложности к этому уравнению.
Тайлер Кольер
1
Я добрался до MDN <img>, но я поставил только crossOrigin="true"по ошибке. СПАСИБО!
Cezille07
Ух ты, на самом деле это помогло мне! Я могу использовать его на локальном хосте, и даже могу использовать звездочку, ключ был в том, чтобы просто добавить crossorigin = "anonymous" к моему HTML-элементу: D
Александр
23

Смотрите выше ответы. (но у меня тоже была хромовая ошибка)

Не загружайте и не отображайте изображение на странице в ХРОМЕ. (если вы собираетесь позже создать новый экземпляр)

В моем случае я загружал изображения и отображал их на странице. Когда они были нажаты, я создал новый экземпляр из них:

// there is already an html <img /> on the page, I'm creating a new one now
img = $('<img crossorigin />')[0]
img.onload = function(){
  context.drawImage(img, 0, 0)
  context.getImageData(0,0,w,h)
}
img.src = 'http://s3.amazonaws.com/my/image.png'; // I added arbitrary ?crossorigin to change the URL of this to fix it

Chrome уже кэшировал другую версию, и НИКОГДА не пытался повторно загрузить crossoriginверсию (даже если я использовал crossoriginотображаемые изображения).

Чтобы исправить это, я добавил ?crossoriginв конец URL-адрес изображения (но вы можете добавить ?blah, что произвольно изменять состояние кэша), когда я загрузил его для холста. Дайте мне знать, если вы найдете лучшее решение для CHROME

Funkodebat
источник
5
Кеширование оказалось моей проблемой тоже (после того, как я попробовал принятые ответы). Спасибо за это.
FearMediocrity
Также была проблема с кешем в Chrome. Простое исправление: Инструменты / Настройки> Очистить данные просмотра ...> Кэшированные изображения и файлы Хотя пользователям, которые могут столкнуться с этой проблемой, может потребоваться другое решение.
StevieP
1
Спасибо за этот ответ! У меня была такая же проблема с Chrome, и я не нашел ответа.
Wandrille
1
Все люди должны попробовать это, если есть проблемы с CORS! Спаси мой день!
Sangar82
23

Я просто добавлю к этому ответу - выше - который решил мою проблему.

Чтобы настроить точку распространения AWS / CloudFront для обращения к исходному заголовку CORS, щелкните интерфейс редактирования для точки распространения:

введите описание изображения здесь

Перейдите на вкладку поведения и измените поведение, изменив «Кэш на основе выбранных заголовков запроса» с Нет Originна Белый список , а затем убедитесь, что оно добавлено в белый список. Дополнительные сведения см. В разделе « Настройка CloudFront для соблюдения настроек CORS» в Документах AWS.

введите описание изображения здесь

MikeiLL
источник
Какие разрешенные методы HTTP вы должны установить?
ученик
Ты имеешь ввиду GET, POST, DELETE и т.д ...? Где те, которые запрашиваются?
MikeiLL
Можете ли вы перефразировать ваш вопрос, пожалуйста, чтобы я мог понять, имеете ли вы в виду веб-форму cf или приложение, запрашиваемое у ресурса s3? Если первое, то есть выбор методов HTTP , который упоминается в документации здесь docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/...
Learner
Похоже, вы спрашивали, что HTTP Request Methodsдолжно быть установлено в AWS. И на этот вопрос я не вижу, что нужно где-то ставить. Если вы говорите в приложении, запрашивающем ресурс, я полагаю, что вы просто запросите файл следующим образом url string: то есть изображение, видео, аудиофайл.
MikeiLL
Это был недостающий кусок! Спасибо! Я перепробовал все ответы выше этого, и только после
Омер Лешем
11

У меня были похожие проблемы с загрузкой 3D-моделей из S3 в Javascript 3D Viewer (3D HOP), но, как ни странно, только с определенными типами файлов (.nxs).

Что установил ее для меня меняется AllowedHeaderот значения по умолчанию , Authorizationчтобы *в конфигурации CORS:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
veuncent
источник
3
Нужно было установить <AllowedHeader>*</AllowedHeader>именно так со звездочкой для Chrome в октябре 2017 года. Большое спасибо! (Также не забудьте очистить кеш браузера после настройки).
Nostalg.io
Небольшая точка - я не думаю, что вам нужно изменить AllowedHeader. У меня тоже была такая же проблема, но оказалось, что браузер кешировал предыдущий ответ ( MaxAgeSeconds). В настройках DevTools вы можете игнорировать кеш, когда консоль открыта. Как только это было сделано, оно начало работать для меня
divillysausages
AllowedHeader> * <определенно исправил эту проблему для меня. Может применяться только тогда, когда запрос отправляется через определенную библиотеку xhr? Я использую Axios и нашел это необходимым.
Джереми
6

Подобно тому, как другие имеют состояния, сначала вам нужно иметь конфигурацию CORS в вашем сегменте S3:

<CORSConfiguration>
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod> <!-- Add this -->
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>

Но в моем случае после этого он все еще не работал. Я использовал Chrome (вероятно, та же проблема с другими браузерами).

Проблема заключалась в том, что Chrome кэшировал изображение с заголовками (не содержащими данные CORS) , поэтому независимо от того, что я пытался изменить в AWS, я не видел свои заголовки CORS.

После очистки кэша Chrome и перезагрузки страницы изображение получило ожидаемые заголовки CORS.

Тонио
источник
1
Спасибо! Эта проблема с кешированием сводила меня с ума. Для всех, кто интересуется, как легко очистить кэш в Chrome (версия 73), щелкните правой кнопкой мыши кнопку перезагрузки и выберите «Очистить кэш и полная перезагрузка». Затем вы увидите эффект от любых изменений, внесенных вами в S3 CORS, в течение <5 секунд. (Может быть , быстрее , - это просто , как долго это берет меня для переключения вкладок браузера.)
thund
1
Это была моя проблема. У моего ведра была соответствующая конфигурация CORS, мой браузер просто удивительно эффективен. Спасибо.
Даниэль Брэди
5

Я перепробовал все ответы выше и ничего не получалось. На самом деле нам нужно 3 шага сверху ответы вместе, чтобы это работало:

  1. По предложению Флавио; добавьте конфигурацию CORS в ваше ведро:

    <CORSConfiguration>
       <CORSRule>
         <AllowedOrigin>*</AllowedOrigin>
         <AllowedMethod>GET</AllowedMethod>
       </CORSRule>
     </CORSConfiguration>
    
  2. На изображении; упомянуть о перекрестном происхождении:

    <img href="abc.jpg" crossorigin="anonymous">
    
  3. Вы используете CDN? Если все работает нормально, подключаясь к серверу источника, но НЕ через CDN; это означает, что вам нужно установить некоторые параметры на вашем CDN, например, принять заголовки CORS. Точная настройка зависит от того, какой CDN вы используете.

Дипак Сингхал
источник
Спасибо, что часть CDN очень важна, не могли бы вы добавить детали того, что нужно на уровне CDN?
svelandiag
5

Я пришел к этой теме, и ни одно из вышеперечисленных решений не применимо к моему делу. Оказывается, мне просто пришлось удалить косую черту из <AllowedOrigin>URL в конфигурации CORS моего ведра.

Сбой:

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

Победы:

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

Я надеюсь, что это спасет кого-то от волос.

Чарни Кэй
источник
3
  1. Установите конфигурацию CORS в настройках разрешений для вашей корзины S3

    <?xml version="1.0" encoding="UTF-8"?>
    <CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
        <CORSRule>
            <AllowedOrigin>*</AllowedOrigin>
            <AllowedMethod>GET</AllowedMethod>
            <MaxAgeSeconds>3000</MaxAgeSeconds>
            <AllowedHeader>Authorization</AllowedHeader>
        </CORSRule>
    </CORSConfiguration> 
    
  2. S3 добавляет заголовки CORS только тогда, когда HTTP-запрос имеет Originзаголовок.

  3. CloudFront не пересылаетсяOrigin заголовок по умолчанию

    Вам необходимо добавить Originзаголовок белого списка в настройках поведения для своего дистрибутива CloudFront.

Павел Фурманиак
источник
2

Я исправил это, написав следующее:

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

Почему <AllowedHeader>*</AllowedHeader>работает а <AllowedHeader>Authorization</AllowedHeader>нет?

Пабло Гарсия Миранда
источник
1

fwuensche "ответ" - это правильно, чтобы создать CDN; Делая это, я удалил MaxAgeSeconds.

<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
Мич. Джио.
источник
1

В последней S3 Management Console, когда вы щелкнете по конфигурации CORS на вкладке Permissions, она покажет пример конфигурации CORS по умолчанию. Однако эта конфигурация на самом деле не активна! Вы должны сначала нажать «Сохранить», чтобы активировать CORS.

Мне потребовалось слишком много времени, чтобы понять это, надеюсь, это сэкономит кому-то время.

Хакел
источник
1

Эта конфигурация решила проблему для меня:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <ExposeHeader>ETag</ExposeHeader>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Дивакар
источник
Я вижу очень небольшую разницу между этой конфигурацией и конфигурациями многих других ответов в этом вопросе. Была ли предпринята какая-либо попытка использовать конфигурации предыдущих ответов перед публикацией этой конфигурации?
Entpnerd
1

Предупреждение - взломать.

Если вы используете S3Image для отображения изображения и впоследствии пытаетесь получить его с помощью функции извлечения, возможно, чтобы вставить его в PDF-файл или выполнить какую-либо другую обработку, предупредите, что Chrome будет кэшировать первый результат, который не требует предварительного запроса CORS, и затем попытайтесь получить тот же ресурс без предварительного запроса OPTIONS для выборки, и произойдет сбой из-за ограничений браузера.

Еще один способ обойти это - убедиться, что S3Image включает в себя crossorigin: «use-credentials», как упомянуто выше. В файле, который вы используете S3Image (у меня есть компонент, который создает кэшированную версию S3Image, так что это идеальное место для меня), переопределите прототип S3Image imageEl, чтобы он включил этот атрибут.

S3Image.prototype.imageEl = function (src, theme) {
    if (!src) {
        return null;
    }
    var selected = this.props.selected;
    var containerStyle = { position: 'relative' };
    return (React.createElement("div", { style: containerStyle, onClick: this.handleClick },
        React.createElement("img", { crossOrigin: 'use-credentials', style: theme.photoImg, src: src, onLoad: this.handleOnLoad, onError: this.handleOnError}),
        React.createElement("div", { style: selected ? theme.overlaySelected : theme.overlay })));
};

403 проблема теперь решена. Какая боль аггрр!

Филипп Мерфи
источник
1
<AllowedOrigin>*</AllowedOrigin>

это не очень хорошая идея, потому что с * вы предоставляете любому сайту доступ к файлам в вашем ведре. Вместо этого вы должны указать, для какого источника точно разрешено использовать ресурсы из вашего сегмента. Как правило, это ваше доменное имя, как

<AllowedOrigin>https://www.example.com</AllowedOrigin>

или если вы хотите включить все возможные субдомены:

<AllowedOrigin>*.example.com</AllowedOrigin>
Рудольф Б
источник
1

Ниже приведена конфигурация и у меня нормально работает. Я надеюсь, что это поможет решить вашу проблему на AWS S3.

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>DELETE</AllowedMethod>
    <ExposeHeader>ETag</ExposeHeader>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Гауранг Сондагар
источник
Это сработало для меня, чтобы начать, затем я усилил безопасность, удалив
ненужные
1

Во-первых, активируйте CORS в своем ведре S3. Используйте этот код в качестве руководства:

<CORSConfiguration>
 <CORSRule>
   <AllowedOrigin>http://www.example1.com</AllowedOrigin>

   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>

   <AllowedHeader>*</AllowedHeader>
 </CORSRule>
 <CORSRule>
   <AllowedOrigin>http://www.example2.com</AllowedOrigin>

   <AllowedMethod>PUT</AllowedMethod>
   <AllowedMethod>POST</AllowedMethod>
   <AllowedMethod>DELETE</AllowedMethod>

   <AllowedHeader>*</AllowedHeader>
 </CORSRule>
 <CORSRule>
   <AllowedOrigin>*</AllowedOrigin>
   <AllowedMethod>GET</AllowedMethod>
 </CORSRule>
</CORSConfiguration>

2) Если он все еще не работает, обязательно добавьте «crossorigin» со значением «*» в теги img. Поместите это в свой HTML-файл:

  let imagenes = document.getElementsByTagName("img");
    for (let i = 0; i < imagenes.length; i++) {
      imagenes[i].setAttribute("crossorigin", "*");
Кристиан Сааведра
источник
0

Принятый ответ работает, но кажется, что если вы обращаетесь к ресурсу напрямую, то заголовки перекрестного происхождения отсутствуют. Если вы используете cloudfront, это приведет к тому, что cloudfront будет кэшировать версию без заголовков. Когда вы перейдете на другой URL-адрес, который загружает этот ресурс, вы столкнетесь с проблемой перекрестного источника.

TigerBear
источник
0

Если ваши настройки CORS вам не помогают.

Проверьте правильность конфигурации S3 . Я имел недопустимое имя ведра Storage.configure. Я использовал короткое имя bucket, и это вызвало ошибку:

В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin».

Александр
источник
-1

Что бы это ни стоило, у меня была похожая проблема - при попытке добавить определенное разрешенное происхождение (не *).

Оказывается, я должен был исправить

<AllowedOrigin>http://mydomain:3000/</AllowedOrigin>

в

<AllowedOrigin>http://mydomain:3000</AllowedOrigin>

(обратите внимание на последнюю ссылку в URL)

Надеюсь, это поможет кому-то

Йосси Вайнштейн
источник