我以前有文章讲过HTTP Tunneling,最近在自己Server实战,发现一个问题,因为Port 80给Apache用了,岂不是对于Web Server和FlashCom是同一台机器的,无法实现HTTP Tunneling?翻查FlashCom帮助,关于HTTP Tunneling的说明非常少而模煳不清,于是直接看<FlashCom>/conf/_defaultRoot_/Adaptor.xml关于HTTP Port设定部分的註释,反而发现FlashCom可以Bind向多个IP Port,这岂不是解决了Web Server和FlashCom是同一台机器,Port 80给佔用了的问题。
于是立即试试,替Server再加一个新IP(例如:123.45.6.78),在<HostPort>设定:
<HostPort>123.45.6.78:1935,80</HostPort>以后连往FlashCom,RTMP路径指向它,就支援HTTP Tunneling(你可以设置一个Sub-domain代表此新IP,始终记名字比数字容易)。为了已经存在FlashCom应用不用修改RTMP路径和再Compile等麻烦工作,原来监听的设置应该保留(例如本来IP:123.45.6.77),所以再加一个<HostPort> node:
<HostPort>123.45.6.77:1935</HostPort>
最后结果:
<HostPortList>
<HostPort>123.45.6.78:1935,80</HostPort>
<HostPort>123.45.6.77:1935</HostPort>
</HostPortList>