Я использую S3 CORS
для подачи шрифтов. Если S3
доменное имя используется для обслуживания шрифтов, оно работает в Firefox
, но когда CloudFront
используется, это не так. Работает с Google Chrome
.
Мой CORS
конфигурация на S3
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://*.example.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>30000</MaxAgeSeconds>
<AllowedHeader>Content-*</AllowedHeader>
<AllowedHeader>Host</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>https://*.example.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>30000</MaxAgeSeconds>
<AllowedHeader>Content-*</AllowedHeader>
<AllowedHeader>Host</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Для того, чтобы это работало. Мне пришлось настроить конфигурацию CORS, чтобы включить домен распространения CloudFront.
Мне также пришлось изменить настройки в моем поведении распространения CloudFront, чтобы разрешить пересылку строк запроса. Не могу вспомнить, где я увидел, что это требование.
Затем я сделал недействительными шрифты, вызывающие проблемы.
Тогда мы были в порядке!
надеюсь, это поможет
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>https://*.domain.com</AllowedOrigin>
<AllowedOrigin>http://*.domain.com</AllowedOrigin>
<AllowedOrigin>http://d2e7ljkkwgm4dt.cloudfront.net</AllowedOrigin>
<AllowedOrigin>http://dpibywtcfxy6z.cloudfront.net</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>Content-*</AllowedHeader>
<AllowedHeader>Host</AllowedHeader>
</CORSRule>
</CORSConfiguration>