首页 > 解决方案 > 在 Azure VM 中为 tcp 启用端口

问题描述

我创建了一个 Windows WCF 服务,我想将它托管在 Azure VM 中。

该服务在 VM 内本地运行良好,但是当尝试访问 VM 外部的服务时,我无法连接到指定端口的服务。

在请求服务时,我收到以下错误:

SocketException (0x274d): No connection could be made because the target machine actively refused it...

此外,在使用公共 ip 通过命令提示符 ping 虚拟机时,我得到Request timed out.

我在 Azure 入站规则和 VM 防火墙入站规则中启用了 TCP 端口。虚拟机是 Windows Server。

如何从另一个系统访问在 VM 中运行的服务?

任何帮助表示赞赏。

标签: azurevirtual-machinewcf-bindingtcplistenernet.tcp

解决方案


  1. 检查应用程序是否在您公开的端口上运行
  2. 检查 Windows 级别的防火墙是否允许来自您的目的地的该端口上的流量
  3. 检查 NIC 级别 NSG 允许该端口上来自您的目标的流量
  4. 检查子网级别 NSG 允许该端口上来自您的目的地的流量
  5. 您可能在网络设置中也有 Azure Firewall\UDR\NVA,请同时检查它们(如果您没有运行企业级设置,这极不可能)。

推荐阅读