通过 CloudFront 的 S3 CORS 在 Firefox 中不起作用

Abh*_*k A 3 amazon-s3 amazon-cloudfront amazon-web-services

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>
Run Code Online (Sandbox Code Playgroud)

小智 5

为了让我得到这个工作。我必须设置 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>
Run Code Online (Sandbox Code Playgroud)