Amazon web services jwplayer标题中的CDN Cname跨域问题
我正在使用Jwplayer 6.8,并在一些服务器www.example.com中设置了Jwplayer。我正在从CDN d2cdnserver.cloudfront.com(cname-example.amazon.com,Amazon web services jwplayer标题中的CDN Cname跨域问题,amazon-web-services,amazon-s3,cross-domain,cdn,jwplayer,Amazon Web Services,Amazon S3,Cross Domain,Cdn,Jwplayer,我正在使用Jwplayer 6.8,并在一些服务器www.example.com中设置了Jwplayer。我正在从CDN d2cdnserver.cloudfront.com(cname-example.amazon.com,我正在使用cname加载我的字幕),它引发了跨域错误 源链接: 我必须在服务器端的httpd.conf、php.ini和htaccess文件中添加响应头,但它似乎不起作用。 我是通过cname example.amazon.com访问我的文件的,当我将此cname更改为我的
我正在使用cname
加载我的字幕),它引发了跨域错误
源链接:
我必须在服务器端的httpd.conf
、php.ini
和htaccess
文件中添加响应头,但它似乎不起作用。
我是通过cname example.amazon.com访问我的文件的,当我将此cname更改为我的amazon S3 url(“”)时,即使未在cdn中设置访问控制允许来源,它也可以工作,并且不会出现跨域问题但是如果我使用cloudfront cname,则它总是显示跨域错误,并且文件未加载
如何在CDN和CNAME中解决此问题?是否有一些方法可以允许访问控制允许cname的源站
顺便说一句,我已经尝试了CDN
的允许访问控制允许源站。这对cloudfront cname没有帮助
我的AWS CORS配置
首先,两者都https://s3.amazonaws.com/www.abcdef.com/files/myfiles
和cnameexample.amazon.com
抛出跨域错误
但是当我尝试下面的默认配置时
我做错什么了吗?进行此配置以避免跨域问题的正确方法是什么
我的JWPLAYER设置
这起作用了
这不起作用
帮助链接:
谢谢你的帮助谢谢你评论我的帮助
我会在黑暗中瞎捅一刀,就在你的CORS配置上。我不确定CNAME alias是如何改变任何事情的。所以请原谅我,因为我对jwplayer也不熟悉
这是您当前的CORS策略配置:
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>http://*.example.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
第二个问题是您的来自另一方,在CORS设置中不允许并忽略*
因此,您仅使用*
设置的那些设置,如果第一次不起作用,请尝试将其设置得更具体一些,例如内容-*
我希望我帮了一点忙,不会引起进一步的混乱。祝你好运。现在检查你的链接是否正常?@JWPlayer:现在xml皮肤文件也出现了同样的问题?我已经检查了这个链接,并在我的服务器example.abcd.com/crossdomain.xml中添加了crossdomain.xml,我的皮肤文件正在从cloudfront加载,它的url是cdn.abcd.com/bekel.xml在哪里运行?我可以t共享这个url,但是你能给我一个大概的想法,至少找到这个问题。。。我在cloudfront中有我的皮肤,我正在从我的域中加载它,在
jwplayer设置`skin:cdn.amazon.com/bekel.xml
我收到了这个错误XMLHttpRequest无法加载http://example.amazon.com/files/jwplayer/skins/bekle.xml. 请求的资源上不存在“Access Control Allow Origin”标头。起源'http://abcde因此,不允许访问代码>一般来说,这意味着存在CORS问题-谢谢@VKen:这确实有帮助,只有一个问题example.com http://*。example.com……我必须同时设置这两个问题还是只设置。。。。一个http://*.example.com是enough@hitesh这取决于从bucket调用资源的源网站。对于我的情况,我有两个http://example.com
和http://www.example.com
指向提供S3 bucket资源的同一服务器上的网页。因此,对于您来说,如果您的带有调用S3 bucket资源的jwplayer的网页只存在于http://example.com
,则只需设置一个域原点。它有多个。。。如和devabc.example.com、devdef.example.com等。同样,在同一个域中有更多的链接。那么,如果我只提供http://*.example.com,或者我必须包括example.com,这会不会不起作用。。。。这是well@hitesh包括基本域example.com
,以及子域的*.example.com
。请记住查看协议是否需要包含http://
或https://
。
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>http://*.example.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
function videoSetUp(id, skinName){
jwplayer('player'+id).setup({
file: 'http://example.amazon.com/files/test.mp4',
image: 'https://www.longtailvideo.com/content/images/jw-player/lWMJeVvV-876.jpg',
stretching : 'exactfit',
aspectratio: '4:3',
fallback: 'false',
height:270,
width:480,
primary: 'HTML5',
tracks: [
{ file: "https://s3.amazonaws.com/www.abcdef.com/files/jwplayer_test_eng.vtt", label: "Eng", kind: "subtitles" },
{ file: "https://s3.amazonaws.com/www.abcdef.com/files/jwplayer_test_hak.vtt", label: "China", kind: "subtitles" },
{ file: "https://s3.amazonaws.com/www.abcdef.com/files/jwplayer_test_tam.vtt", label: "Tamil", kind: "subtitles" },
{ file: "https://s3.amazonaws.com/www.abcdef.com/files/jwplayer_test_eng.vtt", label: "Hindi", kind: "subtitles" }
],
skin :'./skins/'+skinName+'.xml'
});
function videoSetUp(id, skinName){
jwplayer('player'+id).setup({
file: 'http://example.amazon.com/files/test.mp4',
image: 'https://www.longtailvideo.com/content/images/jw-player/lWMJeVvV-876.jpg',
stretching : 'exactfit',
aspectratio: '4:3',
fallback: 'false',
height:270,
width:480,
primary: 'HTML5',
tracks: [
{ file: "http://example.amazon.com/files/jwplayer_test_eng.vtt", label: "Eng", kind: "subtitles" },
{ file: "http://example.amazon.com/files/jwplayer_test_hak.vtt", label: "China", kind: "subtitles" },
{ file: "http://example.amazon.com/files/jwplayer_test_tam.vtt", label: "Tamil", kind: "subtitles" },
{ file: "http://example.amazon.com/files/jwplayer_test_eng.vtt", label: "Hindi", kind: "subtitles" }
],
skin :'./skins/'+skinName+'.xml'
});
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>http://*.example.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
</CORSRule>
</CORSConfiguration>
<AllowedOrigin>http://example.com</AllowedOrigin>
<AllowedOrigin>http://*.example.com</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedHeader>*</AllowedHeader>