【问题标题】:Azure input endpoint using port 1433 is blocked?使用端口 1433 的 Azure 输入端点被阻止?
【发布时间】:2011-07-12 18:52:17
【问题描述】:

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

<InputEndpoint name="WcfServiceEndpoint" protocol="tcp" port="1433" />

同样的工作者角色还在 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 确实以某种方式被阻止了。最好在某处看到这些信息。

【问题讨论】:

  • 1433 不应被计算防火墙阻止。 Brent S (brentcodemonkey) 有一个服务总线-sql 示例就是这样做的。您确定您的 WCF 已成功将自身绑定到该端口吗?它适用于本地结构吗?
  • 嗯...只是为了好玩,我将一个工人角色推到了两个 mongodb 实例上——一个在 27017 上,一个在 1433 上。然后我 RDP 进入我的实例,同时查看两个 mongod 服务器日志。监听 1433 的那个从未收到连接请求。我还在实例的防火墙上明确打开了 1433。负载均衡器可能以不同方式处理这个众所周知的端口。就服务总线而言,它通过不同的端点,因此可能会有不同的处理方式。
  • 只是好奇 - 你为什么试图在众所周知的 sql server 端口上挂起 wcf 服务?代理/路由器?
  • @David Makogon - 正如我所写的,这是因为我们测试环境中的防火墙限制。 (最终的生产部署将使用不同的端口,所以这对我们来说不是一个“阻碍”问题,只是一个麻烦。)
  • @Mormegil Ah - 错过了那个细节。

标签: tcp azure firewall


【解决方案1】:

这里有一些 documentation 我遇到了关于端口被关闭(1433、1434、179)的信息。

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

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

【讨论】:

    【解决方案2】:

    我可以确认端口 1433 和 1434 今天在 Windows Azure 中被阻止。这些端口在数据中心外围被阻止,因此这些端口上的角色之间的连接将起作用。阻塞的端口集将来可能会发生变化。

    【讨论】:

    • 谢谢,这是否记录在任何地方,或者这个答案是您测试的结果?
    • 这是我测试的结果。我在 azure 上工作,今天可以确认这些端口已被阻止。我还可以确认今天没有记录。
    猜你喜欢
    • 2013-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多