我有一个公共服务器,它既提供 Web 内容,又提供 mpeg dash。我需要安全地提供 mpeg-dash。但是,由于端口 443 已被 apache 占用,因此我决定使用端口 446。
但是,有一个客户端仅接受通过端口 443 的流量。我需要能够通过端口 443 提供 Web 内容和媒体。我尝试进行虚拟托管,以便如果他们请求媒体路由,Apache 可以将请求重定向到 Wowza 媒体服务器,如下所示:
<VirtualHost *:443>
ProxyPass "/vod" "https://example.com:446/videos/"
ProxyPassReverse "/vod" "https://example.com:446/videos/"
这是可行的,并且清单文件已加载,但是在 manifest.mpd 文件中,它描述了可用的块,以及将下一个请求发送到何处,该请求指向原始的 446 端口。
<Location>https://example.com:446/vod/mp4:sample.mp4/manifest_w996061371.mpd</Location>
此端口 446 已被阻止,因此无法使用...
这导致我尝试让 apache 和 wowza 绑定到不同的 IP 地址,而不是端口 443 上的 0.0.0.0。
我查了一下 IP 别名,发现可以创建一个虚拟 IP 地址。我让 apache 监听特定的虚拟 IP 地址,让 wowza 监听另一个虚拟 IP 地址。
但是,我无法从外部世界访问它。即使我能够在 VPC 的公共子网中获取此虚拟 IP 地址,我是否必须要求新的防火墙规则来允许端口 443 上的这个新 IP 地址?
我认为这个问题可能无法解决
答案1
将 wowza 放在使用端口 443 的子域(例如 media.example.com)上。它将具有相同的 IP 地址,但有了每个现代客户端都支持的 SNI,它将正常工作。如果您有任何非常非常老的客户端,那么您可能需要获取另一个 IP 或找到另一个解决方案。