无法从Azure Ubuntu VM外部访问Apache

时间:2016-10-06 07:51:59

标签: linux azure azure-virtual-machine

我刚刚在Azure中创建了一个Linux Ubuntu 14.04 VM。 VM已启动,我可以通过SSH连接。

我已经设置了apache2并且正在运行。 当我尝试使用我的公共IP从外部访问时,我的问题就开始了。

我认为apache正在运行,因为:
1)Nmap显示端口已打开:

Starting Nmap 7.01 ( https://nmap.org ) at 2016-10-06 07:42 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000055s latency).
PORT   STATE SERVICE
80/tcp open  http

2)curl localhost显示一些东西

3)运行tcpdump -i eth0'port 80'显示传入连接

输出:

netstat -ntlp
(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       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      -               
tcp        0      0 127.0.0.1:29131         0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::80                   :::*                    LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN      -

但是正在运行

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

它只显示我的私人IP和ipv6。

根据Azure的支持人员的说法,我的VM,网络安全组,端点和其他东西的设置似乎没问题。

1 个答案:

答案 0 :(得分:1)

根据您的描述,我们可能需要做一些测试:

  1. 我们需要使用您的本地PC运行命令“telnet public 80”来测试连接性。 如果telnet没问题,我们需要检查apache的设置。
  2. 如果telnet为false,我们需要运行命令“tcpdump -i eth0'port 80'”来捕获数据包,以确认是否有任何传入连接。 My result 如果您无法捕获数据包,我们需要检查VM的网络设置 如果您可以捕获数据包,并且源地址来自公共网络,我们需要检查端点或NSG设置。
  3. 如果在经典模式下部署VM,我们需要检查端点设置,以确保端口80已打开。如果在资源模式下部署VM,我们需要检查NSG设置。

    enter image description here 如果您仍有疑问,欢迎回复此处。感谢。