S3 - Заголовок доступу-контроль-дозволити вихід


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" />

Цей запит на отримання повинен містити відповідь, заголовок, 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заголовка відповідей.



1
Одне, чого не вистачає у цьому, це: <ExposeHeader> Access-Control-Allow-Origin </ExposeHeader>
Димитрій

Відповіді:


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
Здається, це можливо. Спробуйте прочитати посилання вище (у відповіді) або перейдіть прямо до цього: docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTcors.html
Флавіо Уенше

7
Дякую. Просто натискання кнопки "Зберегти" дозволило завантажити мої шрифти.
Tania Rascia

2
Я помічаю, що це працює іноді, і інший раз після редагування я отримую помилку браузера. Не впевнений, чи її CloudFlare чи S3.
Марк

4
Можливо, вам потрібно буде додати HEADдо AllowedMethods
jordanstephens

32
Не працює для мене. Досі немає заголовка "Access-Control-Allow-Origin" у відповіді на запити HEAD або GET.
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. Я не експерт з цього питання, я просто думав, що це може вам допомогти.


12
Дякую! Це зробило це для мене. Я отримав, наскільки натиснув "Додати конфігурацію CORS", але не зрозумів, що мені потрібно було натиснути "зберегти", тому що я думав, що дивлюсь на конфігурацію за замовчуванням. D'oh.
Джек Кушман

35
Мені довелося налаштувати <AllowedHeader>*</AllowedHeader>його на роботу (краще зробити нове правило для вашого сайту лише тоді, коли це робити)
парламент

4
@par Парламент мав там свою магію, так як усі інші вищевказані налаштування не зробили трюку, поки <AllowedHeader> не був встановлений на підстановку. Ура.
Ніл Магі

Я перейшов до налаштувань CORS і там знайшов ті самі налаштування, але <AllowedOrigin> * </AllowedOrigin> став активним, коли натиснув на збереження. Раніше це не було.
dvdmn

1
Це було все, натисніть кнопку Зберегти
lapinkoira

48

Якщо у вашому запиті не вказано Originзаголовок, S3 не буде включати заголовки CORS у відповідь. Це дійсно кинуло мене, тому що я намагався скрутити файли, щоб перевірити CORS, але curl не включає Origin.


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, скріпки 4, CamanJS, Heroku та AWS S3.


Ви повинні надіслати запит на своє зображення за допомогою crossorigin: "anonymous"параметра.

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

Додайте URL-адресу свого сайту до CORS в AWS S3. Ось відхилення від Амазонки з цього приводу. Досить просто, перейдіть у відро, а потім виберіть " Властивості " на вкладках праворуч, відкрийте вкладку " Дозволи" , а потім натисніть " Змінити налаштування CORS ".

Спочатку я мав < AllowedOrigin>намір *. Просто змініть цю зірочку на свою URL-адресу, обов'язково вкажіть такі параметри, як http://і https://в окремих рядках. Я очікував, що зірочка прийме "Все", але, мабуть, ми повинні бути більш конкретними за це.

Ось як це мені здається.

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


1
на відміну від прийнятої відповіді, це насправді працює! Навіть ClaudFront CDN, що завантажує цей S3, копіює ці заголовки. Дякую, чувак, врятував мене пару годин!
еквівалент8

5
Якщо ви використовуєте CloudFront, ви також можете подивитися на це - blog.celingest.com/en/2014/10/02/…
Kunal

1
Завдяки посиланню @ Kunal CloudFront додає шару складності цьому рівнянню.
Тайлер Колліер

1
Я потрапив до документів MDN <img>, але я поставив лише crossOrigin="true"помилково. СПАСИБІ!
Cezille07

Ого, це насправді зробив для мене трюк! Я можу використовувати його в localhost, і я навіть можу використовувати зірочку, ключовим було просто додати crossorigin = "анонімний" до мого html-елемента: D
Олександр

23

Дивіться відповіді вище. (але у мене теж була хромова помилка)

Не завантажуйте та не показуйте зображення на сторінці в CHROME. (якщо ви згодом створите новий екземпляр)

У моєму випадку я завантажував зображення та виводив їх на сторінку. Коли їх натискали, я створив новий екземпляр з них:

// 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


5
Кешування виявилося і моєю проблемою (після того, як я спробував прийняті відповіді). Дякую за це
FearMediocrity

Також виникла проблема з кешем у Chrome. Просте виправлення: Інструменти / налаштування> Очистити дані перегляду ...> Кешовані зображення та файли Хоча для користувачів, які можуть зіткнутися з цією проблемою, може знадобитися інше рішення.
StevieP

1
Дякую за цю відповідь! У мене була така ж проблема з Chrome, і я не знайшов відповіді.
Wandrille

1
Всім людям потрібно спробувати це, якщо є проблеми з CORS !! Врятуй мій день!
Sangar82

23

Я просто додам до цієї відповіді - вище - яка вирішила мою проблему.

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

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

Перейдіть на вкладку "Поведінки" та відредагуйте поведінку, змінивши "Кеш на основі вибраних заголовків запиту" з "Немає" на "Білий список", після чого переконайтеся, що Originдодано до білого списку. Докладніше див. У розділі Налаштування CloudFront для поваги налаштувань CORS у Документах AWS.

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


Які дозволені методи HTTP потрібно встановити?
Учень

Ви маєте на увазі як GET, POST, DELETE тощо ...? Де запитуються?
MikeiLL

Чи можете ви переформулювати своє запитання, будь ласка, щоб я зрозумів, чи ви маєте на увазі веб-форму cf, або програму, на яку запитується ресурс s3? Якщо перший, є параметр методів HTTP, який згадується в документах тут docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/…
Учень

Схоже, ви запитували, що HTTP Request Methodsпотрібно встановити в AWS. І до цього питання я не бачу, що його потрібно встановлювати де-небудь. Якщо ви говорите про програму, яка запитує ресурс, я вважаю, що ви просто запитаєте файл url string: це зображення, відео, аудіофайл.
MikeiLL

То був фрагмент відсутнього! спасибі! Я спробував усі відповіді вище цього, і лише після дозволу цих заголовків це працювало для мене на localhost
Omer

11

У мене виникли подібні проблеми із завантаженням 3D-моделей із S3 в 3D-переглядач javascript (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>

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 секунд. (Можливо, швидше - саме стільки часу знадобиться мені для переключення вкладок браузера.)
6

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, коли ви натискаєте на конфігурацію CORS на вкладці "Дозволи", вона покаже зразок конфігурації 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 включає кросоригін: "використання даних", як згадувалося вище. У файлі, який ви використовуєте S3Image, (у мене є компонент, який створює кешовану версію S3Image, так що це ідеальне місце для мене), замініть метод прототипу image3 на прототип S3Image, щоб змусити його включити цей атрибут.

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>

Це працювало для мене, щоб почати, тоді я посилив безпеку, видаливши методи, які не були потрібні, і вказавши його лише на заголовки, які я хотів
hitwill

0

Прийнята відповідь працює, але здається, що якщо ви переходите безпосередньо до ресурсу, то заголовків перехресного походження немає. Якщо ви використовуєте cloudfront, це призведе до того, що cloudfront буде кешувати версію без заголовків. Коли ви перейдете до іншої URL-адреси, яка завантажує цей ресурс, ви отримаєте цю проблему з перехресним походженням.


0

Якщо ваші налаштування CORS не допоможуть вам.

Перевірте правильність конфігурації S3 . У мене було недійсне ім’я відра Storage.configure. Я використав коротке ім’я відра, і це спричинило помилку:

На запитуваному ресурсі немає заголовка "Access-Control-Allow-Origin".


0

Спочатку активуйте 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) Якщо вона все ще не працює, обов’язково додайте до тегів img тему "crossorigin" зі значенням "*". Помістіть це у свій файл html:

  let imagenes = document.getElementsByTagName("img");
    for (let i = 0; i < imagenes.length; i++) {
      imagenes[i].setAttribute("crossorigin", "*");

-1

Для чого це варто, у мене виникли подібні проблеми - при спробі додати певне дозволене походження (не *).

Виявляється, мені довелося виправити

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

до

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

(зверніть увагу на останній забій у URL-адресі)

Сподіваюся, що це комусь допоможе

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.