我正在尝试从我的Amazon S3存储桶提供字体文件 . 字体文件是从fonts.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小时后,该 Headers (以及其余的CORS Headers )消失,没有任何干预我的结束 . 这会导致CORS错误出现在包含Chrome,FireFox和IE的许多浏览器中 .

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

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标头的原因是什么?此外,什么可能导致 Headers 在文件上传几个小时后消失?

附:如果用afyash一词替换mySiteName,您将可以访问这些文件 .