隐藏Shoutcast流的IP和端口


Hiding the IP and Port of Shoutcast streaming

我们有一个Shoutcast网络广播,托管在服务器a.上

我们在其他地方的服务器B上也有一个Drupal CMS——这个网站嵌入了Flash Player,它可以流式传输提要。

我们设法从HTML源代码(服务器B)中隐藏了流的IP和端口(服务器A),一些脚本在推送(服务器A的)真实标头位置之前测试了一个条件,但一些浏览器,如Firefox,在联系提要时,会在状态栏中显示最终流的IP。

是否可以完全隐藏流的IP和端口,使其无法在每个浏览器上显示?

也许从Flash变成HTML5播放器
或者做一些Haccess重写??

隐藏服务器地址对您没有帮助。即使你在前面放了一个代理,现在用户也可以简单地连接到代理服务器。您必须提供一个客户端可以连接到的端点,这与其他地方可以使用的端点相同。

您真正想做的是检查流请求是否源自您的页面,而不是其他人的页面。SHOUTcast本身不提供此功能。

根据您的播放器设置方式,您可能希望简单地检查Referer:标头。通常,这将包含您的网站的域。服务器端,您可以检查它是否存在。如果没有,您可以拒绝访问。

另一种方法是发布只适合一个用户使用的会话令牌。然后,您可以将其包含在流请求查询字符串中,如/your/stream?token=0123456789abcdef。如果您的播放器没有通过Referer:标头,则必须执行此操作,并且还可以用于验证页面外的流。(我知道你现在没有这么做,但当你开始构建移动应用程序时,它可能会派上用场。)

不幸的是,除了我自己的(AudioPump server)之外,我不知道有任何HTTP渐进式流媒体服务器软件可以实现这些方法,而且AudioPumps server还不普遍可用。如果你有兴趣尝试一下,你可以联系brad@audiopump.co.否则,您可能需要为此编写一些自定义代码。

如果你对配置很狡猾,你也可以诱使Nginx为你做推荐人。不幸的是,SHOUTcast不符合HTTP,所以这可能会使这变得困难。

您只能通过在AB 之间使用代理来真正隐藏IP