1. 程式人生 > >故障排除:無法啟動、訪問或連線到 Azure 虛擬機器上執行的應用程式

故障排除:無法啟動、訪問或連線到 Azure 虛擬機器上執行的應用程式

有多種原因可導致無法啟用或連線到在 Azure 虛擬機器 (VM) 上執行的應用程式。原因包括應用程式未在預期埠上執行或偵聽、偵聽埠受到阻止,或網路規則未將流量正確傳遞到應用程式。本文說明有條理地找到問題並更正問題。

如果在使用 RDP 或 SSH 連線到 VM 時發生問題,請先參閱以下文章之一:

Note

Azure 具有用於建立和處理資源的兩個不同的部署模型:資源管理器和經典。這篇文章介紹瞭如何使用這兩種模型,但 Azure 建議大多數最新部署使用 Resource Manager 模型。

如果你對本文中的任何點需要更多幫助,可以聯絡 MSDN Azure 和 CSDN Azure

上的 Azure 專家。或者,你也可以提出 Azure 支援事件。請轉到 Azure 支援站點並選擇“獲取支援”。

快速排查終結點連線問題

如果在連線到應用程式時發生問題,請嘗試以下一般故障排除步驟。執行每個步驟之後,嘗試重新連線到應用程式:

詳細故障排除概述

有四個主要區域需要對 Azure 虛擬機器上執行的應用程式的訪問進行故障排除。

對無法啟動應用程式進行故障排除

  1. 在 Azure 虛擬機器上執行的應用程式。
    • 應用程式本身是否正常執行?
  2. Azure 虛擬機器。
    • VM 本身是否正常執行並響應請求?
  3. Azure 網路終結點。
    • 用於經典部署模型中虛擬機器的雲服務終結點。
    • 用於 Resource Manager 部署模型中虛擬機器的網路安全組和入站 NAT 規則。
    • 流量是否可以通過預期的埠從使用者流向 VM/應用程式?
  4. Internet 邊緣裝置。
    • 是否有防火牆規則阻止流量正常流動?

對於通過站點到站點 VPN 或 ExpressRoute 連線訪問應用程式的客戶端計算機,可能會導致問題的主要區域是應用程式和 Azure 虛擬機器。若要確定問題根源並進行更正,請執行以下步驟。

步驟 1:從目標 VM 訪問應用程式

嘗試使用適當的客戶端程式,從執行該程式的 VM 訪問應用程式。使用本地主機名、本地 IP 地址或環回地址 (127.0.0.1)。

直接從 VM 啟動應用程式

例如,如果應用程式是 Web 伺服器,則在 VM 上開啟瀏覽器,並嘗試訪問 VM 上託管的網頁。

如果可以訪問應用程式,請轉到

步驟 2

如果不能訪問應用程式,請驗證以下設定:

  • 應用程式是否在目標虛擬機器上執行。
  • 應用程式是否在預期 TCP 和 UDP 埠偵聽。

在基於 Windows 和基於 Linux 的虛擬機器上,使用 netstat -a 命令顯示活動的偵聽埠。檢查應用程式應偵聽的預期埠的輸出。重新啟動應用程式,或根據需要將其配置為使用預期的埠,然後嘗試在本地重新訪問應用程式。

步驟 2:從同一虛擬網路中的另一個 VM 訪問應用程式

使用 VM 的主機名或其 Azure 分配的公共、專用或提供程式 IP 地址嘗試訪問位於不同 VM 但相同虛擬網路中的應用程式。對於使用經典部署模型建立的虛擬機器,請不要使用雲服務的公共 IP 地址。

從不同的 VM 啟動應用程式

例如,如果應用程式是 Web 伺服器,則嘗試在相同虛擬網路中的不同 VM 上使用瀏覽器訪問網頁。

如果可以訪問應用程式,請轉到步驟 3

如果不能訪問應用程式,請驗證以下設定:

  • 目標 VM 上的主機防火牆允許入站請求和出站響應流量。
  • 目標 VM 上執行的入侵檢測或網路監視軟體允許流量。
  • VM 中在測試 VM 和你的 VM 之間的路徑執行的單獨元件(例如負載均衡器或防火牆)允許流量。

在基於 Windows 的虛擬機器上,使用具有高階安全性的 Windows 防火牆確定防火牆規則是否排除應用程式的入站和出站流量。

步驟 3:從虛擬網路外部訪問應用程式

嘗試通過虛擬網路之外的計算機訪問應用程式,作為應用程式執行的 VM。使用其他網路作為原始客戶端計算機。

從虛擬網路外部的計算機啟動應用程式。

例如,如果應用程式是 Web 伺服器,則嘗試通過不在虛擬網路中的虛擬機器使用瀏覽器訪問網頁。

如果不能訪問應用程式,請驗證以下設定:

  • 對於使用經典部署模型建立的 VM:

    • VM 的終結點配置允許傳入流量,尤其是協議(TCP 或 UDP)及公用和專用埠號。
    • 終結點上的訪問控制列表 (ACL) 不會阻止來自 Internet 的傳入流量。
  • 對於使用 Resource Manager 部署模型建立的 VM:

    • VM 的入站 NAT 規則配置允許傳入流量,尤其是協議(TCP 或 UDP)及公用和專用埠號。
    • 網路安全組允許入站請求和出站響應流量。

如果虛擬機器或終結點是負載均衡集的成員,則:

  • 驗證探測協議(TCP 或 UDP)和埠號是否正確。
  • 如果探測協議和埠與負載均衡集協議和埠不同,則:
    • 驗證應用程式是否在探測協議(TCP 或 UDP)和埠號(在目標 VM 上使用 netstat -a)上偵聽。
    • 目標 VM 上的主機防火牆允許入站探測請求和出站探測響應流量。

如果可以訪問應用程式,請確保 Internet 邊緣裝置允許:

  • 從客戶端計算機到 Azure 虛擬機器的出站應用程式請求流量。
  • 來自 Azure 虛擬機器的入站應用程式響應流量。

其他資源

立即訪問http://market.azure.cn