欢迎您来到,李雷博客 | PHP博客        登录  |  注册

ckplayer跨域播放错误通过apache配置搞定的方法

更新:2024-04-07 10:24:31
人气:742
来源:本站原创
A+

记录一下使用ckplayer作为视频播放器时产生域名跨域问题后,多方尝试后通过apache跨域设置解决播放器跨域的方法。

在使用ckplayer播放非同一台服务器上的m3u8视频文件中出现了如下错误提示:

has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is

因为在本地调试时一切正常,可以流畅播放视频,但放到正式的服务器时,资源文件是放在另一台服务器上的,就造成了视频文件的跨域问题。因为播放器采用的是ckplayer,网上找了很多解决方法。

都是关于播放器的配置方法,比如添加crossdomain.xml文件到视频资源服务器的根目录。

<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
    <allow-access-from domain="*"/>
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/>
</cross-domain-policy>

根本没有起到作用,错误依然报出。最后就想到通过修改apache跨域限制解决这个问题,最终视频可以正常播放了,下面是修改apache跨域问题的方法。

1、编辑httpd.conf
找下面这行,把#去掉,目的是开启apache头信息自定义模块

"#LoadModule headers_module modules/mod_headers.so"

没有的话直接添加上去(modules 有mod_headers.so模块)

2、修改服务器配置文件

<Directory /dir/>
    Options FollowSymLinks
    AllowOverride All
    Require all granted

    Header set Access-Control-Allow-Origin * //允许所有ip访问,请根据实际需要指定ip
    Header set Access-Control-Allow-Credentials true
    Header set Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, authorization" //authorization是自定义的授权字段
    Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, HEAD, PUT, DELETE, PATCH" //允许所有方法,请根据实际需要做适当删减

    或者:
    Header set Access-Control-Allow-Origin http://www.mdaima.com
</Directory>

我是用的Header set Access-Control-Allow-Origin *这一条生效后,播放正常。

推荐的文章
# 发表我的评论
  /     /  
# 最近评论
暂时还没有评论,要不要说点什么?
  Ads by Google
  联系博主
Hello,本博客系统采用PHP和MySql开发,程序开发完全是因为个人爱好,是自己纯手写PHP源代码,未采用任何PHP框架!
QQ:858353007   微信号:lileihot123
网站地图
会员服务
关于我们
QQ:858353007
 
广告服务
加我微信
移动端访问
 
 
Copyright © 2014- 2024 www.mdaima.com All Rights Reserved.
李雷博客,专注PHP经验、PHP教程及PHP源代码开源下载分享的PHP博客!   ICP备案号:京ICP备10202169号-4