谷歌浏览器(chrome)升级后,https协议页面中http 子资源音视频强制跳转https

近期突然发现音乐站在我的谷歌浏览器(chrome)下无法试听了,而换其他浏览器正常试听 ,排查一番发现奇怪的现象是

一直是http调用试听资源的,却无端强制跳转到https调用。http跳转到https

谷歌浏览器(chrome)升级后,https协议页面中http 子资源音视频强制跳转https

第一时间怀疑代码问题,但排查代码里调用是写死的http,并未做任何协议相关判断 ,且其他浏览器正常试听,可以排除代码问题。仔细查看以上错误,发现有警告中提到资源路径依然是http的,但下面一行error显示的确是https的地址,又检查了服务端没有跳转设置,那只能怀疑是浏览器自己所为。回想前两日chrome有做过升级,立马查看版本号并询问度娘,果然有资料显示如下:

从19年 12 月开始测试的 Chrome 79 开始,Chrome 将会逐步阻止所有混合内容。
到 2020 年 1 月,Chrome 80 会将所有混合音频和视频资源自动升级为 HTTPS,
如果无法通过 HTTPS 加载,则将自动被阻止。
最终,在 2020 年 2 月,Chrome 81 将所有混合图像、音频与视频自动升级为 HTTPS,
并且阻止那些无法通过 HTTPS 加载的图像。

迷底解开了,就是Google进一步调整了https页面加载不安全http子资源的策略,Chrome 80进一步将所有音频视频的http混合内容的加载强制跳转https。怎么解决呢? 当然只有将资源下升级到https分发了,难不成还能不让用户升级浏览器呀。要升级到https可以去申请阿里云免费证书哦。如果资源是放在阿里云的OSS可以参考 《阿里云OSS自定义域名https访问实现》一文开启OSS的https。