Как исправить проблемы CORS с AWS S3 и CloudFront - PullRequest
0 голосов
/ 17 июня 2019

Итак, я попытался настроить CDN для статических активов клиентов, используя S3 и CloudFront, однако мы получаем ошибки CORS при попытке извлечь изображения, хранящиеся в корзине S3 в JS (для этого мы используем jsPDF) , который затем использует изображение для создания файла .pdf). Мы используем пользовательское доменное имя (assets.website.com) и созданный AWS SSL-сертификат для обслуживания активов из безопасного источника.

Запутанная часть заключается в том, что конфигурация иногда работает - иногда ресурсы будут загружаться правильно, когда в режиме инкогнито или в приватном режиме в Chrome / Safari, но работают очень редко, если это не так. Я попытался перезапустить сервер, на котором находится сайт, и запустил аннулирование для каждого файла в S3 / CloudFront после того, как я обновил конфигурацию CORS и последние настройки поведения CloudFront, однако проблема сохраняется.

Интересно, что добавление любого параметра запроса в URL пройдет проверку CORS.

Я проверял это с https://test -cors.org , похоже, все еще сталкивается с проблемами.

Любая помощь в получении этой работы будет высоко ценится, так как ничто из того, что я нашел до сих пор, не решило проблему!

Конфигурация 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>0</MaxAgeSeconds>
    <AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>

Ссылка на конфигурацию поведения CloudFront

...