gpt4 book ai didi

linux - 无法从 Azure Ubuntu VM 外部访问 Apache

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:43:41 24 4
gpt4 key购买 nike

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

我已经设置了 apache2 并且正在运行。当我尝试使用我的公共(public) 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/\/.*$//'

它只显示我的私有(private) ip 和 ipv6。

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

最佳答案

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

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

    enter image description here如果您还有疑问,欢迎在这里发帖。谢谢。

关于linux - 无法从 Azure Ubuntu VM 外部访问 Apache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39890487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com