簡體   English   中英

Azure 應用程序網關 API 管理探測無法連接到后端

[英]Azure Application Gateway API Management probe cannot connect to back end

我希望有人能幫助理解我在這里做錯了什么,因為我完全困惑和迷失了。

我正在嘗試以內部模式構建 API 管理,並在它前面有一個應用程序網關。

根據 Microsoft 文檔,我構建了以下資源:

  • API管理
  • 應用網關
  • 虛擬網絡
  • 在虛擬網絡中我設置了 2 個子網(應用程序網關和 API 管理)
  • 2 個網絡安全組,每個資源一個

根據我在網上找到的文檔和一般建議。 我創建了一個 Keyvault 並生成了一個證書。 在主題中我設置了這個 CN:

api.test.com

我為此 KeyVault 分配了一個托管標識。

在這一步之后,我創建了一個 API 管理服務。 里面唯一的 api 是

/configurations

一旦完成。 在 Newtork 選項卡中,我將 Api 管理設置為內部模式,並選擇了我的虛擬網絡和我為此服務設計的子網。 到目前為止一切都很順利。 更新完成后,我在 api 管理中設置了自定義域。

在選項卡Custom Domain ,我添加了一個新域,在主機名中,我設置了與在 KeyVault 中設置的相同的 CN

api.test.com

並選擇了它必須從中獲取正確證書的 KeyVault。

一切都在這里完成。

我在設計的虛擬網絡和子網中創建了應用程序網關。

我將后端池設置為 API 管理的網關 url 的第一件事

api.test.com

我通過協議 HTTPS 端口 443 設置 HTTP 設置如下

在此處輸入圖像描述

仍然在應用程序網關中,我在端口 443 上設置了監聽器,並從 KeyVault 中選擇了我的證書

在規則中,我將偵聽器和后端目標配置為以后端池為目標。

此時,當我測試 Probe 時:

在此處輸入圖像描述

我收到以下錯誤

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

我檢查了我的兩個安全組,它們設置如下

這是 apim 的消息

在此處輸入圖像描述

這是應用程序網關

在此處輸入圖像描述

可以請任何人幫助理解我在這里做錯了什么嗎? 因為我再也不知道可能是什么問題了。

如果您需要更多信息,請隨時告訴我。 如果容易的話,我可以在這里發布我的 terraform 腳本來部署這個基礎設施。

你說:我首先將后端池設置為 API 管理“api.test.com”的網關 url

該 url 無法訪問並指向一個公共 IP(我猜應該是應用程序網關 IP)

后端池應該是api管理服務的私有SLB IP地址。 偵聽器應該偵聽主機名,因此當它收到帶有該主機名的請求時,它會通過其私有 IP 和一個包含相同偵聽器主機名作為值的主機標頭將其轉發給 api 管理服務。

在此處輸入圖像描述

暫無
暫無

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

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