我正在使用S3 CORS
来提供字体。 如果S3
域名用于提供字体, CloudFront
在Firefox
,但在使用CloudFront
时,则不会。 适用于Google Chrome
。
S3
上的我的CORS
configuration
<?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>
为了让我得到这个工作。 我必须将CORSconfiguration设置为包含CloudFront分配域。
我还必须更改我的CloudFront分配行为中的设置,以允许转发查询string。 我不记得我在哪里看到这是一个要求。
然后,我导致造成问题的字体无效。
然后,我们很好去!
希望有所帮助
<?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>