WinServer2008 流媒体服务(WMS)外网访问解决方法(原创)

序:公司项目一直使WinServer2003部署流媒体服务器(业务访问不大),这次客户安装的系统是WinServer2008。同样部署流媒体服务器,但内网可以访问,外网始终不可以。从各论坛、微软官网等查阅不少资料,终于找到解决方法(已测试成功),简单跟大家分享下。



描述:
1、从Win2003开始,大部分访问WMS通过连接URL(如 mms://server_name/clip_name.wmv)方式,其中Win2003支持的流媒体控制协议有三种:MMS(默认1755)、RSTP(默认554)、HTTP(默认80)。
2、Win2008支持的流媒体控制协议只有两种:RSTP(默认554)、HTTP(默认80)。没有MMS协议,实际上Win2008 WMS已不再支持MMS协议了,详见微软官网 http://technet.microsoft.com/zh-cn/library/cc771761(WS.10).aspx 。
3、实际生产环境存在这样一种现象:通过带mms://前缀的URL访问Win2008 WMS,内网可以正常访问,但外网就可以访问了,而Win2003 WMS内外网都可以访问。为什么会这样?
3.1、首先说Win2008内网可以访问。Win2008 WMS虽然不支持 MMS 协议,但仍然支持MMS名字对象(mms://)。当支持实时流协议 (RTSP) 的客户端通过使用带mms://前缀的URL(如 mms://server_name/clip_name.wmv)连接到Windows Media服务器时,服务器将尝试通过使用RTSP,从而使用协议翻转以流方式将内容传递到客户端(转自微软官网 http://technet.microsoft.com/zh-cn/library/cc772186(WS.10).aspx )。
3.2、Win2008外网不能访问。当客户端通过使用带mms://前缀的URL访问,WMS使用协议翻转将生成随机端口传递内容(已测试),所以在有防火墙的作用下,Win2008外网不能正常访问。
3.3、当以mms://前缀的URL访问Win2003时,服务启用的是1755端口。因此只要防火墙开发1755端口,客户端都可以访问。


解决办法:
1、确保网络线路的防火墙等都开放554、1755(建议还是开放)、WMS的HTTP端口
2、确保Win2008的系统防火墙已开放上述端口。
3、启用Win2008 WMS控制协议中的HTTP协议,具体操作:管理工具-->Windows Media 服务-->点击服务器属性-->控制协议。启用HTTP协议,设置端口8080(默认80),注意不要与其他服务(如IIS、Tomcat)端口重复
4、修改Win2008系统DNS解析,具体:
4.1、打开C:\Windows\System32\drivers\etc\下hosts文件(记事本可以打开),在127.0.0.1 localhost 后面加上 空格+(域名或外网IP)。如127.0.0.1 localhost -- > 127.0.0.1 localhost www.abc123.com.cn
4.2、开始-->运行-->"cmd"-->"ipconfig /flushdns" ,刷新DNS解析缓存(可能不会立即生效)。
5、OK,此时外网客户端可以通过HTTP协议可以访问Win2008 WMS了(如 http://www.abc123.com.cn:8080/clip_name.wmv)。但仍然不允许以mms://前缀的URL访问,内网客户端两种方式都可以正常访问。

 

猜你喜欢

转载自landry-string.iteye.com/blog/1554487