簡體   English   中英

Azure 應用程序網關:無法連接到后端服務器

[英]Azure Application Gateway: Cannot connect to backend server in

由於最近的一次裁員,我突然被 azure 管理員轟炸了。 我對此很陌生,還沒有機會學習管理課程。

面臨以下問題:我們在運行 IIS 的 Azure Windows 服務器 VM 上托管幾個網站。 這些可通過具有公共 IP 的應用程序網關訪問。 我被要求為網站的新部分添加兩個新聽眾。 我在后端池中創建了適當的目標,創建了 http 和 https 設置並添加了偵聽器和規則。 但是,當瀏覽到該站點時,它會引發 502 錯誤,當我檢查后端運行狀況時,它會給出以下錯誤。

在此處輸入圖像描述

Cannot connect to backend server. Check whether any NSG/UDR/Firewall is blocking access to server. Check if application is running on correct port.

我在 VM 上的 AZ Web 接口的 NSG 上以及托管 IIS 的服務器的本地防火牆上打開了適當的入站端口。 AFAIK 應用程序網關上沒有額外的 NSG 規則。

我在這里想念什么? :秒

我在應用程序網關方面擁有豐富的經驗,我可以告訴您 502 錯誤網關意味着后端肯定有問題或 AGW 設置配置錯誤 - 這就是錯誤所說的,所以沒什么奇怪的。 根據我的經驗,這里是我遇到此錯誤的不同情況:

  1. 由於 NSG 規則控制從 AGW 子網到后端子網的訪問,因此無法訪問后端服務器。
  2. 可以訪問后端服務器,但該端口未在服務器的防火牆處打開。
  3. 可以訪問后端服務器,端口已打開但應用程序未在這些端口上偵聽或應用程序甚至未運行。
  4. AGW 偵聽器配置錯誤。

您可以嘗試以下方法:

首先通過嘗試從同一子網中的另一個 VM 訪問應用程序來驗證應用程序和 VM 是否正常。

接下來,嘗試在不同子網中獲取 VM 並嘗試訪問應用程序,以模擬嘗試連接到后端的 AGW。 這將幫助您驗證您的 NSG 是否已正確配置。

最后,重新訪問所有 AGW 設置並查找偵聽器或其他設置中的任何錯誤配置。 (根據您的評論添加此內容)。

采用這種方法進行故障排除將快速幫助您確定導致問題的層。 此外,開始記錄您在旅程中遇到的所有 AGW 錯誤以及補救步驟等將是一個很好的做法。這將在未來極大地幫助您 - 這不是您最后一次遇到 AGW 問題!

如果您檢查了防火牆問題並且沒有解決問題,則可能是您的 VM 上的用戶權限。

然后我在 ps 中運行以下命令,它為我排序。

** netsh http add urlacl url="http://*:{port}/" user="Everyone" **

一個很好的測試,看看這是否有效,您是否可以使用 invoke-webrequest 和 localhost URI 訪問您的應用程序,但不能使用服務器的 NIC Private IP。

您還需要設置主機地址以在配置文件中使用通配符。

暫無
暫無

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

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