作者:捕鱼达人2602917825 | 来源:互联网 | 2023-05-28 19:44
随着网络环境的恶化全球顶级的科技公司们都在推行HTTPS加密连接,目前看起来还是卓有成效的。
目前已经有越来越多的网站开始使用HTTPS加密通讯来保护网站内容不被劫持或者用户信息不被窃取。
遗憾的是就国内现在HTTPS的状况来看情况并不是那么好,尤其是对于国内的视频网站到现在没有一家采用HTTPS全站加密,而国外至少使用YouTube就可以满足需求。
这对于已经进行HTTPS化的网站来说就是比较悲剧的问题了,因为引用视频的话在HTTPS下是不会显示的。
蓝点网也遇到了这种比较棘手的情况,但在V2EX和知乎上查询的解决方案要么由于技术问题、要么就是成本问题根本无法进行使用。
在经过一段时间的折腾后我们发现了一些折中的方案,虽然地址栏的绿色小锁会没了但至少可以播放。
方案一:直接下载视频托管在自己服务器上
这种解决方案实际上并没有什么意义,因为对于大视频来说放到自己服务器上仅仅是流量和带宽就无法满足。
但对于小视频而言(比如低于3MB)在我们的服务器能够承载的情况下那么自然可以直接进行托管。
![[解决方案] 全站HTTPS化后如何插入国内的视频网站内容](https://img7.php1.cn/3cdc5/f3f0/339/719efd393eccd3dd.png)
蓝点网的部分文章中就有这类形式的视频,直接通过HTML 5代码嵌入视频即可播放并且浏览器不会报警。
那么对于大视频文件来说依靠我们自己服务器无法承载也就只能想办法找中转方案用其他的视频网站了。
方案二:使用优酷嵌入式代码加载HTTPS视频
下图中分别是从优酷视频播放页获取的HTML代码和经过改进的HTML代码
![[解决方案] 全站HTTPS化后如何插入国内的视频网站内容](https://img7.php1.cn/3cdc5/f3f0/339/728848702e615050.png)
其中有区别的地方我们已经用红线和红圈标记出来了,从第二段代码的写法或许你就知道了后面这段是支持HTTPS进行播放的。
首先可以明确的是优酷子域名Player、V都是不支持HTTPS连接的,但奇葩的是Static域名却是加密的。
那么第二个视频地址又是从哪里获取到的呢?非常简单:直接打开第一段中src后面的地址就可以得到第二段的视频地址。
在测试中我们发现static.youku.com是支持HTTPS的,而这两处代码实际上都是一个视频。
那么就简单了:直接将static开头的地址替换掉player地址那么在HTTPS下就可以进行播放了,于是这个问题被解决了。
不过遗憾的是虽然可以播放但依然会加载HTTP内容导致浏览器地址栏的小绿锁会消失,所以目前也只能达到这种状态了。
另外需要提醒的是上述代码都需要Adobe Flash Player支持,因此建议在视频前单独增加视频在优酷的页面方便移动用户直接点击URL进入优酷进行观看。
PC上启用Flash Player是可以播放的,移动设备上看起来是直接空白的所以记得多增加一下原地址。
如果你有更好的解决方案或者说上述代码中依然有改进空间那么也欢迎留言进行交流,谢谢。