Amazon S3 Cross Origin资源共享无效

时间:2015-01-25 07:49:56

标签: css amazon-web-services fonts amazon-s3 cors

我试图从我的Amazon S3存储桶中提供字体文件。 font.css文件中引用的字体文件如下:

@font-face {
font-family: 'customFont';
src:url('fonts2/customFont.eot?6akx5h');
src:url('fonts2/customFont.eot?#iefix6akx5h') format('embedded-opentype'),
    url('fonts2/customFont.woff?6akx5h') format('woff'),
    url('fonts2/customFont.ttf?6akx5h') format('truetype'),
    url('fonts2/customFont.svg?6akx5h#customFont') format('svg');
font-weight: normal;
font-style: normal;

}

存储桶CORS配置如下:

<?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>
    <AllowedMethod>HEAD</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>

字体文件位于我的Amazon S3存储桶中。在将文件上载到S3存储桶后,Access-Control-Allow-Origin响应标头始终存在。然而,大约13或14个小时后,该标题(以及其余的CORS标题)消失,没有任何干预我的结束。这会导致CORS错误出现在包含Chrome,FireFox和IE的许多浏览器中。

我尝试使用以下网址提供字体文件:

http://st.mySiteName.com.s3.amazonaws.com/css/fonts2/customFont.woff?6akx5h
http://st.mySiteName.com/css/fonts2/customFont.woff?6akx5h
http://st.mySiteName.com.s3-website-eu-west-1.amazonaws.com/css/fonts2/customFont.woff?6akx5h

缺少CORS标头的原因是什么?此外,什么可能导致标题在文件上传几个小时后消失?

P.S。如果用afyash一词替换mySiteName,你将可以访问这些文件。

0 个答案:

没有答案