百度网盘播放地址html,百度云web播放器cyberplayer的flv播放地址一定要支持跨域访问如何设置...

cyberplayer,

官方demo

百度云web播放器:

Cyberplayer3.0 Demo

http://cyberplayer.bcelive.com/demo/new/index.html

![](https://s4.51cto.com/images/blog/202003/17/a719e3064ce6cbde799a2af8922b8a0c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

一、问题

按照上面的demo,如果:域名A, 访问域名B的flv文件时,

出现:加载失败,不能播放当前文件。

查看,控制台:

已拦截跨源请求:同源策略禁止读取位于 http://域名B.../.flv 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。

二、解决方法

需要在域名B的文件所在的服务器nginx服务器中配置。

oneinstack的lnmp为例,

在 /usr/local/nginx/conf/vhost/域名B.conf 中添加:

```

location ~* \.(flv)$ {

add_header Access-Control-Allow-Origin *;

add_header Access-Control-Allow-Headers X-Requested-With;

add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

}

```

再重启nginx.

service nginx restart;

三、 解释

1. Access-Control-Allow-Origin

服务器默认是不被允许跨域的。给Nginx服务器配置`Access-Control-Allow-Origin *`后,表示服务器可以接受所有的请求源(Origin),即接受所有跨域的请求。

2. Access-Control-Allow-Headers 是为了防止出现以下错误:

Request header field Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

这个错误表示当前请求Content-Type的值不被支持。其实是我们发起了"application/json"的类型请求导致的。这里涉及到一个概念:预检请求(preflight request),请看下面"预检请求"的介绍。

3. Access-Control-Allow-Methods 是为了防止出现以下错误:

Content-Type is not allowed by Access-Control-Allow-Headers in preflight response.

加入QQ PHP技术问答群 (群号:292626152),有关cyberplayer的问题,可相互交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值