【发布时间】:2012-01-11 20:44:18
【问题描述】:
我正在使用适用于 .NET 的 WebORB,并且它在我的开发环境中的默认端口 (2037) 上运行没有任何问题。
当我将它部署到我的暂存环境并尝试通过公共 Internet 访问它时,由于它是一个不常见的端口,该端口在沿途的许多地方都被阻止,并且我观察到一个红色的 WebORB 徽标,并带有“不能当我访问 WebORB 控制台时连接到消息传递服务器。
打开端口是部分解决方案,但任何访问 WebORB 应用程序的人还需要确保他们没有阻塞该端口……所以这并不是一个真正的解决方案。
我已经设法让 WebORB 在端口 443(用于 SSL,因此几乎从未被阻止)上运行,但前提是我在 IIS 中没有其他站点与端口 443 绑定。
这也是不可接受的,因为我最终将在同一台服务器上拥有另一个站点,绑定端口 443。
所以,我的问题是:当 IIS 中的另一个站点也绑定到该端口时,是否可以在端口 443(或 80)上运行 WebORB?
更新以下答案
我使用的是 Server 2008R2,因此使用的是 IIS7.5,我更喜欢以集成模式运行我的 WebORB 网站。第一篇文章中的说明提到为 Isapi.dll 添加通配符脚本映射 - 这只会在经典模式下调用。
我已添加文章建议的所有条目,并将我的站点配置为使用端口 80。IIS 中还有其他站点绑定到端口 80。
当我导航到 WebORB 控制台时,我观察到在添加新的 RTMPT 处理程序之前看到的相同行为 - 一个红色的 WebORB 徽标,并且“消息传递服务器”面板中没有出现任何条目。但是,我确实看到“错误请求,仅支持 RTMPT”。导航到 ~/open/1 时的消息,并且我的 diagnostics.aspx 页面看起来很好。
在日志中我看到以下内容:
...
WEBORB 信息:为 -\root 添加子作用域
WEBORB 信息:已注册范围 - \root WEBORB 信息:WebORB 消息服务器 4.4.0.0 (c) 2003-2010 Midnight Coders, Inc.
WEBORB 信息:正在运行 - 错误
WEBORB 异常:System.Net.Sockets.SocketException (0x80004005):试图以访问权限禁止的方式访问套接字 在 System.Net.Sockets.Socket.DoBind(端点 endPointSnapshot,SocketAddress socketAddress) 在 System.Net.Sockets.Socket.Bind(端点 localEP) 在 Weborb.Messaging.BaseRTMPServer.start()
WEBORB 信息:关闭 WebORB 消息服务器
WEBORB INFO:加载类型:Weborb.Management.ServiceBrowser.Browser.AssemblyBrowser
...
我是否需要更改任何其他配置以使控制台能够使用 RTMPT?
另外,鉴于传入的请求必须通过 HTTP,有没有办法考虑主机标头?
【问题讨论】: