Amazon web services jwplayer标题中的CDN Cname跨域问题

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更改为我的

我正在使用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更改为我的amazon S3 url(“”)时,即使未在cdn中设置访问控制允许来源,它也可以工作,并且不会出现跨域问题但是如果我使用cloudfront cname,则它总是显示跨域错误,并且文件未加载

如何在CDN和CNAME中解决此问题?是否有一些方法可以
允许访问控制允许cname的源站

顺便说一句,我已经尝试了
CDN
允许访问控制允许源站。这对cloudfront cname没有帮助

我的AWS CORS配置

首先,两者都
https://s3.amazonaws.com/www.abcdef.com/files/myfiles
和cname
example.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>