web无插件直播点播视频结构化分析系统EasyDSS开启https报错 (blocked:mixed-content) 问题

TSINGSEE青犀视频的大部分视频平台都是能够开启https的,在EasyDSS的部分版本中,如果开启 https,通过 https访问http 地址,浏览器的控制台会报出(blocked:mixed-content)错误:

出现该种错误是浏览器的默认功能,如果在 https 端口的网站访问 http 的地址就会出现错误。https 地址相对于http地址来说,安全性更强,因此 https 在渐渐的取代 http。

出现该种情况,需要修改软件后端,对访问的路径进行判断,如果是 https 访问的路径,则将对应的 https 地址返回,如果是通过 http 协议访问,则返回对应的 http 地址。

在 EasyDSS 中使用 Golang 的 Gin 框架,因此添加一段识别请求是 https 访问还是 http 访问的代码,然后分别处理对应的资源。代码如下:

// 判断 c 是不是 https
func isHttps(c *gin.Context) bool {
   if c.Request.TLS == nil {
      return false
   }
   return true
}

如果请求头上的tls信息是空的则证明是 http 地址,否则是 https 的地址。

关于EasyDSS:

EasyDSS提供了丰富的API接口供大家调用,在测试版本中也可以自行进行二次开发,不仅在打造网校课堂方面可以提供视频转码分发能力,在其他很多项目当中也可直接落地。

原文地址:https://www.cnblogs.com/easydss/p/14597820.html