我们在仅登录用户可访问的网站上嵌入了 Vimeo 视频。由于不同的防火墙使用不同类型的阻止,视频有时无法在客户端播放。
我们不可以:
- 知道这些防火墙会触发哪些类型的视频拦截
- 要求客户更改其浏览器上的任何设置
- 要求客户端请求更改防火墙设置
对于防火墙明确阻止 Vimeo(而不是阻止所有视频流)的情况,我们希望执行以下操作:
- 我们的应用程序检测到 Vimeo 被屏蔽
- 告诉浏览器加载不同的播放器
- 这个新的播放器从我们控制的域(因此具有有效的 SSL 证书)加载每个所需的资源(视频、JS、json 等),而不是 Vimeo/Akamai 域。
实际的视频也将从我们控制的域中加载,并从 Vimeo 获取到我们的服务器,然后从我们的服务器提供给客户端。一切都通过 SSL 进行,但这不是 MITM,因为客户端将从我们的域请求视频流以及播放器所需的其他资源。
这能叫透明代理吗?更重要的是,我们可以使用 Squid 实现上述功能吗?如果没有 Squid,我们如何实现这一目标?? 我们不想将视频存储在 Vimeo 以外的任何地方,但我们可以在我们的服务器上缓存视频几个小时。