无法连接 Microsoft Azure Vm 中的端口

Posted

技术标签:

【中文标题】无法连接 Microsoft Azure Vm 中的端口【英文标题】:Could not connect Port in Microsoft Azure Vm 【发布时间】:2017-05-08 03:50:45 【问题描述】:

我已经在 Microsoft Azure 中创建了 Red Hat VM,并且能够通过 ssh 进行连接。

我已经在 VM 中使用端口 8081 启动了 Java 服务器,并且它启动成功。但我无法在浏览器中查看它。它没有被加载。

我尝试了以下方法,但都没有加载:-

host:80
host:8080
host:8081

我在网络安全组中添加了入站安全规则,并为其关联了子网。我仍然无法在浏览器中查看我的服务器。

我已遵循此document 的入站安全规则

这是我的入站规则

netstat -tuplen

(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name 
tcp 0 0 127.0.0.1:29131 0.0.0.0:* LISTEN 0 20864 - 
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 13894 - 
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 18132 - 
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 994 19499 - 
tcp6 0 0 :::111 :::* LISTEN 0 13893 - 
tcp6 0 0 :::8081 :::* LISTEN 1000 28721 3212/java 
tcp6 0 0 :::22 :::* LISTEN 0 18143 - 
tcp6 0 0 :::9080 :::* LISTEN 1000 28547 3212/java 
udp 0 0 0.0.0.0:68 0.0.0.0:* 0 16585 - 
udp 0 0 0.0.0.0:111 0.0.0.0:* 0 23825 - 
udp 0 0 127.0.0.1:323 0.0.0.0:* 995 15601 - 
udp 0 0 0.0.0.0:45876 0.0.0.0:* 0 16574 - 
udp 0 0 0.0.0.0:893 0.0.0.0:* 0 23826 - 
udp6 0 0 :::57126 :::* 0 16575 - 
udp6 0 0 :::111 :::* 0 23827 - 
udp6 0 0 ::1:323 :::* 995 15602 - 
udp6 0 0 :::893 :::* 0 23828 - 

ss -tln

State Recv-Q Send-Q Local Address:Port Peer Address:Port 
LISTEN 0 10 127.0.0.1:29131 *:* 
LISTEN 0 128 *:111 *:* 
LISTEN 0 128 *:22 *:* 
LISTEN 0 128 127.0.0.1:27017 *:* 
LISTEN 0 128 :::111 :::* 
LISTEN 0 50 :::8081 :::* 
LISTEN 0 128 :::22 :::* 
LISTEN 0 50 :::9080 :::* 

【问题讨论】:

【参考方案1】:

根据您的屏幕截图,我注意到您的服务正在侦听 tcp6。据我所知,如果端口只提供 ipv6 服务,则无法使用 IPv4 地址访问。

我注意到您使用码头容器,码头默认使用 IPv6。您可以允许码头强制使用 IPv4。关于这个有一个很好的answer。

【讨论】:

您好,也许您可​​以尝试使用 localhost 进行测试。 telnet 127.0.0.1 8081 当我在我的虚拟机中点击 curl localhost:8081 时,我能够得到响应。我相信打开端口是个问题。 根据您的屏幕截图,我注意到您的服务正在侦听 tcp6。据我所知,如果端口只提供 ipv6 服务,则无法使用 ipv4 IP 访问。 localhost 是一个 ipv4 地址。 我应该在入站安全规则中进行哪些更改才能使其正常工作? 您不需要修改 NSG 规则。目前,无法将公共 IPv6 地址分配给 VM。它们只能分配给负载均衡器。我会更新我的答案。

以上是关于无法连接 Microsoft Azure Vm 中的端口的主要内容,如果未能解决你的问题,请参考以下文章

如何将 SSD(高级)磁盘附加到我的 NC6 - Microsoft Azure 中的数据科学 VM?

Azure Linux VM配置负载平衡后无法连接

饼图 VM 内存使用情况 Azure

一个Azure VM RDP连接问题

无法使用 JDBC 连接通过 SSH 隧道连接到 Azure DB

在 Microsoft Azure 平台虚拟机上调试 Windows 内核