Azure Ubuntu VM,即使禁用了ufw并且为此端口添加了入站规则,也无法访问端口8080

问题描述

我无法在端口8080上访问azure Ubuntu VM的Web应用程序。该VM已链接到虚拟网络,该网络的安全组已为8080配置了inbount规则,并且禁用了ubuntu防火墙(ufw)。

以下是详细信息:

  1. VM:

    enter image description here

  2. 网络安全组中端口8080的允许规则:

    enter image description here

  3. 防火墙已在vm上禁用:

enter image description here

  1. 对http:// publicipaddress:8080 / service的任何请求均无效:

enter image description here

请告知要使其正常工作还需要什么。

但是,如果添加了入站规则all-all(*)而不是特定的端口(8080),则该请求有效,这违反了安全性的目的。

谢谢,干杯 -加里(Gary)

解决方法

根据您的描述,以下是一些可能的原因:

  • 您的应用程序或服务未在外部地址0.0.0.0:*的正确端口8080上侦听。您可以尝试在Azure VM上运行命令sudo netstat -alpn | grep LISTEN进行验证。如果没有,您可以找到消耗的应用程序的真实IP。
  • 您的Azure VM与其他一些NSG相关联。您可以检查virtual machine --- networking中是否存在额外的子网级别或网络接口级别。
  • 尝试删除NSG中的自定义出站安全规则。 enter image description here

让我知道是否需要进一步的帮助。

,

感谢南希

  1. netstat命令的输出为: enter image description here

端口8080似乎正在侦听所有地址(但可能在IPv6上)?

  1. VM和NSG属于同一组: enter image description here

资源组: enter image description here

  1. 没有删除传出规则,但仍然不起作用:(。

不确定我还想念什么。

,

我错误地将nsg入口配置为匹配端口号(例如:8080),而不是将源端口匹配为*。

协议-源主机和目标主机:端口的组合,因此设置错误。

现在所有内容都可以更正。