这看起来应该是如此简单,但由于这不是我的专长领域,我有一个地狱般的时间来弄清楚如何去做。
基本上,我有一个Flash应用程序,我连接到一个来流一些内容。例如,我所使用的URL如下所示:
rtmp://someserver.com/some/path/mp3:somefile
一切正常--但这就是问题所在。当我试图做的是模拟我的用户试图在比我在这里有更多限制的条件下播放我的媒体(即没有) --即被困在防火墙或代理服务器后面,阻止对RTMP流的访问。
Adobe表示,Flash可以自动处理代理服务器和防火墙,比如(从文档中):
当您没有在RTMP地址中指定端口号时,Flash将尝试连接到端口1935。如果失败,它将尝试连接到端口443;如果失败,则尝试端口80。因此,如果不在RTMP地址中指定端口,则不需要编写如果失败,它将尝试通过端口80上的RTMPT(即HTTP隧道)进行连接.来访问端口1935、443或端口80。
我遇到的问题是建立一个可靠的环境来测试这种行为是否真的发生。例如,我在Windows机器上,所以使用Windows防火墙,我可以阻塞某些端口和协议(1935,443),但我不想阻止端口80,因为最终回退协议( RTMPT )应该在端口80上运行,而Windows防火墙只给我足够的粒度(据我所知)来阻止“所有出站TCP流量到远程端口80”--也就是说,我显然不能阻止“所有出站RTMP流量到端口80”,而将RTMPT流量保留到端口80不受影响。
到目前为止,我的理解是,我可能需要设置一个代理服务器才能做到这一点。这是正确的吗?或者有更简单的方法(至少在Win 7上)过滤RTMP到1935年,RTMP到443,RTMP到80,但仍然允许RTMPT到80 (其中所有四个主机名都相同)?如果我必须设置代理服务器,在Windows上最简单的方法是什么?我已经设置了WinProxy,它看起来有点简陋,但显然很有效--但是我不知道如何告诉Windows强制所有TCP流量(包括RTMP、RTMPT和HTTO)通过这个代理服务器,这样我就可以转身拒绝RTMP的请求了。
任何帮助都将是非常感谢的。这不是我的专业领域,我在这方面花的时间可能比我应该花的时间还多。:)
发布于 2010-05-26 03:44:02
虽然我对这一说法感到有点困惑:
还是有..。方式..。过滤掉..。RTMP到80,但仍然允许RTMPT到80 (其中所有四个主机名都相同)?
我认为您还可以尝试创建一个IPSec过滤器来阻止特定主机之间的某些通信,并允许特定主机之间的某些通信量.
https://serverfault.com/questions/145268
复制相似问题