我正在尝试使用S3和Cloudfront设置HLS视频文件流。我遇到的问题是,当我使用直接S3链接作为清单文件时HLS视频有效,但当我使用文件的Cloudfront链接时不起作用。在后一种情况下,我收到一个CORS错误。我的Bucket上的CORS策略设置为:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>86400</MaxAgeSeconds>
<ExposeHeader>Authorization</ExposeHeader>
<ExposeHeader>Content-Type</ExposeHeader>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
我的根目录中还有以下crossdomain.xml和存储所有hls视频的根文件夹。
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>
我已经完成了几十个教程,他们都说我只需要为我的存储桶设置一个Web分配,并且存储桶策略和存储桶的CORS策略设置应该可以正常工作。
我的Cloudfront设置中是否遗漏了一些内容?我将所有值保留为默认值,而不是原点(我设置为我的存储区)。
S3 Link:http://s3.ap-south-1.amazonaws.com/tjb-video-data/vod-data/1472453572-11/hls/master.m3u8
CloudFront链接:http://d1932r1vgq7q7.cloudfront.net/vod-data/1472453572-11/hls/master.m3u8
(我尝试过使用http和https)