Назад | Перейти на главную страницу

S3 CORS через CloudFront не работает в Firefox

Я использую 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>