使用nginx做为http-flv服务如何解决跨域问题 - Go语言中文社区

使用nginx做为http-flv服务如何解决跨域问题


什么是跨域

跨域是指浏览器的同源策略限制,这个策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。如果一个请求url的协议、域名、端口三者之间任意一个与当前页面的url不同即为跨域。

如下图所示即为跨域时的报错:

使用nginx搭建http-flv服务

主要使用了nginx和nginx-http-flv-module模块,具体过程可参考:https://blog.csdn.net/rain_meter/article/details/88127209

配置好之后的主要配置如下图所示:

此时我们可以正常的推流,并通过ffplay等播放器播放。

但是如果播放器flv.js所在的http服务不是我们所配置的nginx,那么就会出现跨域的问题。

解决跨域

通过修改http-flv的nginx配置,即可解决跨域。

在nginx.conf的“location /live”中增加下面三行:

add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET';

效果如下图所示:

然后reload或者重启nginx,就可以生效。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/xiaoluer/article/details/105545337
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-06-27 23:30:38
  • 阅读 ( 2103 )
  • 分类:Go Web框架

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢