请在Chrome、Firefox等现代浏览器浏览本站。网站域名:森林之家(www.foresthouse.cn)爱学习、爱分享、爱绿软、爱恐怖、爱音乐、爱唠叨、爱折腾、爱生活!

记m3u8流媒体跨域报错:No ‘Access-Control-Allow-Origin’

心得笔记 forest 3096℃ 已收录 1评论


记一次A网站调用B网站的M3U8媒体文件浏览器提示跨域报错:“Failed to load http://ceshi/ceshi.m3u8: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://ceshi.com’ is therefore not allowed access.”“Failed to load http://ceshi.com/0000.ts: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://ceshi.com’ is therefore not allowed access.”,B网站的所有M3U8文件都只能使用B网站的域名访问,其它域名无法访问播放不了,在网上找了N多方法卡在了httpd.conf文件的“#LoadModule headers_module modules/mod_headers.so”参数上面我没有把#去掉导致再怎么设置也不行因为没有开启apache头信息自定义模块。只有开启了头信息自定义模块才能识别你自定义的信息呀……

说下方法(均已测试)添加的代码或文件都是在目标服务端不是访问端。

一、如果服务器是Apache

1、打开配置文件“httpd.conf”搜索“LoadModule headers_module modules/mod_headers.so”把前面的“#”号去掉,这是第一步也是必须的一步。;

2.1、打开配置文件“vhosts.conf”找到域名所在的地方添加:“Header set Access-Control-Allow-Origin *”即可,示例如下:

<VirtualHost *:80> DocumentRoot "H:\www" ServerName ceshi.com ServerAlias www.ceshi.com <Directory "H:\www"> Options FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted Header set Access-Control-Allow-Origin * </Directory>
</VirtualHost>
2.2、如果配置不好怕搞坏了可以省略第2步,但第一步一定要做,然后直接在网站所在的根目录中加入以下.htaccess文件,文件内容为:
<IfModule mod_setenvif.c> <IfModule mod_headers.c> <FilesMatch "\.(m3u8|ts)$"> SetEnvIf Origin ":" IS_CORS Header set Access-Control-Allow-Origin "*" env=IS_CORS </FilesMatch> </IfModule>
</IfModule>

二、如果服务器是Nginx

Nginx服务器是跨跨域配置

1.1、如果安装了宝塔面板则在location的最下面大括号的上面加入“add_header Access-Control-Allow-Origin *;”即可;

1.2、或者是打开“nginx.conf”文件修改,代码如下:

location ~* \.(m3u8|ts)$ { add_header Access-Control-Allow-Origin *;
}
或者是:
location / { add_header Access-Control-Allow-Origin *;
}
IIS服务器没有测试,至于网上说的“crossdomain.xml”我是研究了好久可能我太菜了没研究好也弄不透,根本就没用,而且我觉得这个东西并不好人家可以访问得到能看到里面是啥东西。比如淘宝的:
<cross-domain-policy>
<allow-access-from domain="*.taobao.com"/>
<allow-access-from domain="*.taobao.net"/>
<allow-access-from domain="*.taobaocdn.com"/>
<allow-access-from domain="*.tbcdn.cn"/>
<allow-access-from domain="*.alicdn.com"/>
</cross-domain-policy>
百度的:
<cross-domain-policy>
<allow-access-from domain="*.baidu.com"/>
<allow-access-from domain="*.bdstatic.com"/>
<allow-http-request-headers-from domain="*.baidu.com" headers="*"/>
<allow-http-request-headers-from domain="*.bdstatic.com" headers="*"/>
</cross-domain-policy>
腾讯的:
<cross-domain-policy>
<allow-access-from domain="*.qq.com"/>
<allow-access-from domain="*.gtimg.com"/>
</cross-domain-policy>
本站文章如未注明,均为原创丨本网站采用BY-NC-SA协议进行授权,转载请注明转自:https://www.foresthouse.cn/archives/6090.html
喜欢 (1)or分享 (0)
发表我的评论(注:在您评论完以后不会立即显示,请不要重复刷新以免进入黑名单。)
取消评论
表情 代码 贴图 加粗 链接 私信 删除线 签到

Hi,请填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(1)条精彩评论。
  1. 文章不错非常喜欢,支持来自天朝的朋友 谷歌浏览器 Windows 7
    头条新闻2019年-05月-13日发表回复| Google Chrome 63.0.3239.132| Windows 7