簡體   English   中英

Apache 無法從 Azure VM 外部訪問 Ubuntu VM

[英]Apache not reachable from outside an Azure Ubuntu VM

我剛剛在 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 show something

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. 我們需要在您的本地 PC 上運行命令“telnet public 80”來測試連接。 如果telnet沒問題,我們需要檢查apache的設置。
  2. 如果telnet 為false,我們需要運行命令“tcpdump -i eth0 'port 80'”來抓包,確認是否有任何傳入的連接。 我的結果 如果抓不到包,我們需要檢查虛擬機的網絡設置。
    如果可以抓包,並且源地址來自公網,我們需要檢查端點或NSG設置。
  3. 如果VM部署在經典模式,我們需要檢查端點設置,確保80端口是開放的。 如果VM部署在資源模式,我們需要檢查NSG設置。

    在此處輸入圖片說明 如果您還有疑問,歡迎在這里回帖。 謝謝。

也許網絡安全組正在拒絕流量。

在 Azure 門戶中,go 到所有資源,然后找到應用於 VM 的網絡安全組。 在 NSG 的概覽頁面上,您將看到管理進出 VM 的流量的規則列表。 是否有允許端口 80 的規則? 如果沒有,請在 NSG 的設置中添加一個新規則。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM