我正在运行Windows Azure辅助角色,该角色在端口1433上公开WCF服务,端口1433也被定义为输入TCP端点:
<InputEndpoint name="WcfServiceEndpoint" protocol="tcp" port="1433" />
同一个worker角色还在TCP端口443上公开另一个服务,定义类似:
<InputEndpoint name="TcpInterfaceEndpoint" protocol="tcp" port="443" />
我在管理门户中看到两个端点,我能够正确连接到端口443上的TcpInterfaceEndpoint,但我根本无法连接到其他端口(尝试从两个不同的计算机都可以访问外部的SQL服务器,即输出连接不阻止端口)。当我尝试在Azure实例上本地连接(通过远程桌面连接)时,telnet连接正常。尝试从其他地方连接以“连接超时”结束。一切似乎都表明端口1433的处理方式与端口443不同,并且在某处被防火墙阻止。我甚至试图在Azure实例上完全禁用Windows防火墙,但没有任何改变。
似乎Azure不允许端口1433上的端点(通常是MS SQL Server,我们目前因为测试环境中的防火墙限制而使用它),但我无法在任何地方找到有关此类限制的任何信息。那么 - 是这样的,还是我在某处做了一些微不足道的错误?
已添加:我尝试了另一项测试:我在配置文件中切换了两个端口,因此WCF现在运行在443,TCP运行在1433.而且,正如我预期的那样 - WCF服务可用,而TCP接口停止工作。我现在相信1433确实在某种程度上被阻止了。可以在某处看到这些信息。
答案 0 :(得分:4)
以下是关于正在关闭的端口(1433,1434,179)的一些documentation。
原因:端口179,1433和1434在Windows Azure中被阻止公开使用,因此这些端口上的角色之间的任何连接都将被阻止,并导致超时错误。
解决方案:您必须使用一组不包含端口179,1433或1434的端口连接到端点。
答案 1 :(得分:1)
我可以确认今天在Windows Azure中阻止了端口1433和1434。端口在数据中心周边被阻塞,因此这些端口上的角色之间的连接将起作用。阻止端口集可能在将来发生变化。