透過應用程式閘道設定 App Service

應用程式閘道可讓您將App Service應用程式或其他多租使用者服務作為後端集區成員。 在本文中,您將了解如何透過應用程式閘道設定 App Service 應用程式。 應用程式閘道的設定會根據App Service的存取方式而有所不同:

  • 第一個選項會使用後端中應用程式閘道和App Service上的自訂網域
  • 第二個選項是使用預設網域應用程式閘道存取App Service,尾碼為 「.azurewebsites.net」。

建議針對生產等級案例使用此組態,並符合在要求流程中未變更主機名稱的作法。 您必須擁有自訂網域 (和相關聯的憑證) ,以避免必須依賴預設的 「.azurewebsites」 網域。

藉由將相同的功能變數名稱與後端集區中的應用程式閘道和App Service產生關聯,要求流程就不需要覆寫主機名稱。 後端 Web 應用程式會看到用戶端所使用的原始主機。

針對兩者使用相同的自訂網域應用程式閘道App Service案例概觀

在本文中,您將了解如何:

  • 設定 DNS
  • 將App Service新增為後端集區至應用程式閘道
  • 設定與 App Service 連線的 HTTP 設定
  • 設定 HTTP 接聽程式
  • 設定要求路由規則

必要條件

設定 DNS

在此案例的內容中,DNS 與兩個位置相關:

  • 使用者或用戶端用於應用程式閘道的 DNS 名稱,以及瀏覽器中顯示的內容
  • DNS 名稱,應用程式閘道在內部使用 來存取後端中的App Service

使用自訂網域將使用者或用戶端路由傳送至應用程式閘道。 使用指向 DNS 的 CNAME 別名來設定 DNS,以進行應用程式閘道。 應用程式閘道 DNS 位址會顯示在相關聯公用 IP 位址的概觀頁面上。 或者,建立指向 IP 位址的 A 記錄。 (對於 應用程式閘道 V1,如果您停止並啟動服務,則 VIP 可能會變更,這會使此選項變成 undesired.)

App Service應該設定為接受來自應用程式閘道流量,並使用自訂功能變數名稱作為傳入主機。 如需如何將自訂網域對應至App Service的詳細資訊,請參閱教學課程:將現有的自訂 DNS 名稱對應至Azure App 服務若要驗證網域,App Service只需要新增 TXT 記錄。 CNAME 或 A 記錄不需要變更。 自訂網域的 DNS 組態仍會導向至應用程式閘道。

若要接受透過 HTTPS App Service的連線,請設定其 TLS 系結。 如需詳細資訊,請參閱在 Azure App 服務 設定App Service以從 Azure 金鑰保存庫提取自訂網域的憑證時,使用 TLS/SSL 系結保護自訂 DNS 名稱

將 App Service 新增為後端集區

  1. 在Azure 入口網站中,選取您的應用程式閘道。

  2. [後端集區] 下,選取後端集區。

  3. [目標型別] 底下,選取 [應用程式服務]。

  4. [目標]下,選取您的App Service。

    App Service 後端

    注意

    下拉式清單只會填入與您應用程式閘道位於相同訂用帳戶中的應用程式服務。 如果您想要使用與應用程式閘道位於不同訂用帳戶中的 App Service,請在 [目標] 下拉式清單中選擇 [應用程式服務],選擇 [IP 位址或主機名稱] 選項,然後輸入 app Service 的主機名稱 (example.azurewebsites.net) 。

  5. 選取 [儲存]。

編輯App Service的 HTTP 設定

需要 HTTP 設定,指示應用程式閘道使用自訂功能變數名稱存取App Service後端。 根據預設,HTTP 設定會使用 預設健康情況探查 ,其依賴主機名稱,如後端集區中所設定, (尾碼為 「azurewebsites.net」) 。 因此,最好先設定 自訂健康情況探查,該探查 是以正確的自訂功能變數名稱設定為其主機名稱。

我們將使用 HTTPS 連線到後端。

  1. [HTTP 設定] 底下,選取現有的 HTTP 設定或新增 HTTP 設定。
  2. 建立新的 HTTP 設定時,請為它命名
  3. 使用埠 443 選取 [HTTPS] 作為所需的後端通訊協定
  4. 如果憑證是由已知的授權單位簽署,請選取 [是] 作為 [使用者已知的 CA 憑證]。 或者 ,新增後端伺服器的驗證/受信任的根憑證
  5. 請務必將 [以新的主機名稱覆寫] 設定為 [否]
  6. 在 [自訂探查] 下拉式清單中選取自訂 HTTPS 健康情況探查。

    注意

    它會使用預設探查,但為了正確性,我們建議使用具有正確功能變數名稱的自訂探查。)

設定 H T T P 設定,使用無覆寫將自訂網域用於App Service後端

設定 HTTP 接聽程式

若要接受流量,我們需要設定接聽程式。 如需詳細資訊,請參閱應用程式閘道接聽程式設定

  1. 開啟 [接聽程式] 區段,然後選擇 [新增接聽程式] 或按一下現有的接聽程式以編輯
  2. 針對新的接聽程式:為它命名
  3. 在 [前端 IP] 下,選取要接聽的 IP 位址
  4. 在 [埠] 底下,選取 [443]
  5. 在 [通訊協定] 底下,選取 [HTTPS]
  6. 在 [選擇憑證] 底下,選取 [從金鑰保存庫選擇憑證]。 如需詳細資訊,請參閱使用 金鑰保存庫,您可以在其中找到有關如何指派受控識別的詳細資訊,並將許可權提供給您的金鑰保存庫。
    1. 為憑證指定名稱
    2. 選取受控識別
    3. 從何處選取要取得憑證的金鑰保存庫
    4. 選取憑證
  7. 在 [接聽程式類型] 底下,選取 [基本]
  8. 按一下 [新增] 以新增接聽程式

新增 H T T P S 流量的接聽程式

設定要求路由規則

使用先前設定的後端集區和 HTTP 設定,即可設定要求路由規則,以取得來自接聽程式的流量,並使用 HTTP 設定將其路由傳送至後端集區。 為此,請確定您有 HTTP 或 HTTPS 接聽程式可供使用,但尚未系結至現有的路由規則。

  1. 在 [規則] 底下,按一下以新增 [要求路由規則]
  2. 以名稱提供規則
  3. 選取尚未系結至現有路由規則的 HTTP 或 HTTPS 接聽程式
  4. 在 [後端目標] 下,選擇已設定App Service的後端集區
  5. 設定應用程式閘道應該連線到App Service後端的 HTTP 設定
  6. 選取 [新增] 以儲存此設定

使用已設定的 H T T P 設定,將接聽程式的新路由規則新增至App Service後端集區

測試

在這麼做之前,請確定後端健康情況顯示為狀況良好:

開啟 [後端健康情況] 區段,並確定 [狀態] 資料行指出 [HTTP 設定] 和 [後端集區] 的組合顯示為 [狀況良好]。

檢查Azure 入口網站中的後端健康情況

現在,使用與後端應用程式閘道和App Service相關聯的自訂網域,流覽至 Web 應用程式。

限制存取

這些範例中部署的 Web 應用程式會使用可直接從網際網路存取的公用 IP 位址。 當您瞭解新功能並嘗試新事物時,這有助於進行疑難排解。 但是,如果您想要將一項功能部署到生產環境,則需要新增更多限制。 請考慮下列選項:

  • 根據服務端點設定存取限制規則。 這可讓您鎖定應用程式的輸入存取權,以確定來源位址來自 應用程式閘道。
  • 使用Azure App 服務靜態 IP 限制。 例如,您可以限制 Web 應用程式,使它只會從應用程式閘道接收流量。 您可以使用應用程式服務 IP 限制功能,將應用程式閘道 VIP 列為具有存取權的唯一位址。