使用端口 1433 的 Azure 输入端点被阻止?

Mor*_*gil 3 firewall tcp azure

我正在运行一个 Windows Azure 辅助角色,它在端口 1433 上公开 WCF 服务,该端口也被定义为输入 TCP 端点:

<InputEndpoint name="WcfServiceEndpoint" protocol="tcp" port="1433" />
Run Code Online (Sandbox Code Playgroud)

同一个工作角色还在 TCP 端口 443 上公开了另一个服务,定义类似:

<InputEndpoint name="TcpInterfaceEndpoint" protocol="tcp" port="443" />
Run Code Online (Sandbox Code Playgroud)

我在管理门户中看到了两个端点,我能够正确连接到端口 443 上的 TcpInterfaceEndpoint,但我根本无法连接到另一个端口(从两台不同的计算机尝试过,它们都能够访问外部的 SQL 服务器,即该端口不会被传出连接阻止)。当我尝试在 Azure 实例上本地连接(通过远程桌面连接)时,telnet 连接正常。尝试从别处连接以“连接超时”结束。一切似乎都表明端口 1433 的处理方式与端口 443 不同,并且在某处被防火墙阻止。我什至尝试在 Azure 实例上完全禁用 Windows 防火墙,但没有任何改变。

Azure 似乎不允许端口 1433 上的端点(通常是 MS SQL Server,由于测试环境中的防火墙限制,我们目前使用它),但我无法在任何地方找到有关此类限制的任何信息。那么 - 是这样吗,还是我在某处犯了一些小错误?

补充:我尝试了另一个测试:我在配置文件中切换了两个端口,以便 WCF 现在在 443 运行,TCP 在 1433 运行。而且,正如我所料 - WCF 服务可用,而 TCP 接口停止工作。我现在非常确信 1433 确实以某种方式被阻止了。看到这些信息记录在某处就好了。

rya*_*nes 5

这是我遇到的一些关于关闭端口(1433、1434、179)的文档

原因:端口 179、1433 和 1434 在 Windows Azure 中被阻止供公共使用,因此这些端口上的角色之间的任何连接都将被阻止并导致超时错误。

解决方案:您必须使用不包括端口 179、1433 或 1434 的一组端口连接到端点。