Tomcat 将TCP流量路由到Azure VM上的端口8080

Tomcat 将TCP流量路由到Azure VM上的端口8080,tomcat,azure,routing,centos,azure-virtual-machine,Tomcat,Azure,Routing,Centos,Azure Virtual Machine,我在Azure的CentOS虚拟机上运行Tomcat。主机上没有防火墙。wget localhost:8080返回一个页面,与私有IP地址上的相同请求一样。我可以使用公共IP地址SSH到服务器,但是wget public_IP_address:8080不会路由到主机 我已经为端口8080启用了入站安全规则,该规则看起来与允许通过端口22进行SSH的规则相同 我已经研究了好几个小时了。似乎所有关于在Azure的linux主机上运行Tomcat的文章都是用经典的虚拟机管理UI编写的。他们讨论指定一

我在Azure的CentOS虚拟机上运行Tomcat。主机上没有防火墙。wget localhost:8080返回一个页面,与私有IP地址上的相同请求一样。我可以使用公共IP地址SSH到服务器,但是wget public_IP_address:8080不会路由到主机

我已经为端口8080启用了入站安全规则,该规则看起来与允许通过端口22进行SSH的规则相同

我已经研究了好几个小时了。似乎所有关于在Azure的linux主机上运行Tomcat的文章都是用经典的虚拟机管理UI编写的。他们讨论指定一个端点,这在现代Azure UI中是不可用的。我也看到了,但这似乎需要powershell,它不在我的CentOS主机上

同样,我也找不到任何关于修改上述文章中说明的所谓“VIP”的内容

启用TCP访问Azure中CentOS虚拟机上侦听端口8080的Tomcat服务器,我缺少什么

更新:

根据@MichaelB的建议,我在Mac OS X上安装了Azure命令行工具

$ azure vm show minimalfalcon
info:    Executing command vm show
+ Getting virtual machines                                                     
warn:    No VMs found
info:    vm show command OK
在当前门户UI中,单击“虚拟机(经典)”不会显示任何实例。当我单击“虚拟机”时,这就是我访问虚拟机所有设置的方式。我怀疑Azure CLI工具正在连接到经典API,而不是当前门户使用的任何API。而且门户网站没有提供对我的虚拟机的经典访问

此外,我还按照@MichaelB的建议,在安全组中禁用SSH的入站规则。果不其然,SSH访问将持久化到此VM!因此,当我导航时:

虚拟机>>minimalfalcon>>设置>>网络接口>>minimalfalcon 447>>网络安全组(minimalfalcon)>>设置>>入站安全规则

这些并不能真正控制对我的虚拟机的访问。请参见下面的屏幕截图。要将此网络安全组策略应用于我的虚拟机,需要突破什么障碍?我真的不明白这怎么会不适用。感谢您的指导


除非您需要创建端口转换,否则您应该能够仅使用门户公开该端口

如果使用新的资源管理器(通过门户或ARM脚本)创建VM,端点的概念将不再存在。相反,您有一个与NIC关联的IP地址。该NIC位于网络安全组(NSG)内。在NSG中,定义入站和出站端口规则。再点击几下,但是

首先查看虚拟机的设置并导航到网络接口:

然后导航到网络安全组:

最后,编辑入站规则:


这对我很有用。确保使用VM刀片服务器的“Essentials”部分中列出的公共IP地址

创建入站安全规则时,请确保:

  • 使用低于65500的优先级编号
  • 将源端口范围设置为
    *
注意:Azure有两种不同的部署模型:。ILPIP仅与经典部署模型相关

注意:当从门户(在ARM模型中)创建VM时,它会自动关联到虚拟网络(vnet)、vnet中的特定子网和网络安全组

2个想法:

1) 默认情况下,ARM上的所有端口都是打开的(除非您有防火墙等)。这就是为什么您的ssh即使没有入站规则也能通过的原因。如果要阻止对端口的访问,必须显式执行此操作。因此,如果这是出于测试目的,您可以完全删除NSG;这有助于确定问题是NSG还是其他问题

2) 你说你可以从虚拟机上下载wget localhost:8080,它可以正常工作,对吗?这让我觉得也许你的tomcat正在监听127.0.0.1而不是你的公共ip(或者为了简单起见是0.0.0.0)


希望这有帮助!:)

您确定该安全组已应用于该计算机吗?i、 e.如果阻止端口22,SSH访问是否停止。(您可以使用Azure Xplat工具,它们的功能基本相同)提供的链接指的是经典的虚拟机管理,而不是当前的门户。现代Azure门户中没有“端点”选项。提供的链接包括这两个示例,第一段是经典的“是”,但其余的响应是针对arm的。