У меня есть веб-страница, использующая Angle JS для загрузки файла изображения из S3 через CloudFront CDN.
В Chrome я открою окно Incognito, а также консоль. они показывают какое-то сообщение об ошибке
Ошибка загрузки
http://cloudfront.net/image.png В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Поэтому происхождение ‘yyy’ не разрешено.
но без проблем в топке все изображения загружаются. но я сталкиваюсь только с проблемами в Chrome
Я проверил, изменил и перепроверил настройки на S3 и Cloudfront. В S3 моя конфигурация CORS выглядит так:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedOrigin>http://*</AllowedOrigin>
<AllowedOrigin>https://*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Authorization</AllowedHeader>
</CORSRule>
</CORSConfiguration>
А также попробуйте мой файл .htaccess, как
<ifModule mod_headers.c>
Header add Access-Control-Allow-Origin "*"Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type"Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"</IfModule>
но ошибка показывает в браузерах Chrome, пожалуйста, любое тело поможет решить проблему
Добавьте заголовок источника Cloudfront «Edge-To-Origin», чтобы принудительно вызывать заголовки ответов CORS на каждый запрос (xhr или не-xhr):
Происхождение —> http://sub.domain.com
Других решений пока нет …