什麼是 Azure Front Door 中的規則集?

規則集是自訂的規則引擎,會將規則組合成單一集合。 您可以將一個規則集與多個路由建立關聯。 規則集可讓您自訂如何在 Azure Front Door 邊緣處理要求。

常見的支援案例

  • 實作安全性標頭可防止瀏覽器型弱點,例如跨原始來源資源共用 (CORS) 情境下的 HTTP Strict-Transport-Security (HSTS)、X-XSS-Protection、Content-Security-Policy、X-Frame-Options 以及 Access-Control-Allow-Origin 標頭。 以安全性為基礎的屬性也可以使用 Cookie 來定義。

  • 根據用戶端裝置類型,將要求路由傳送至應用程式的行動或桌面版本。

  • 使用重新導向功能將 301、302、307 和 308 重新導向傳回給用戶端,以將其導向至新的主機名稱、路徑、查詢字串或通訊協定。

  • 根據傳入的要求,動態修改路由的快取設定。

  • 重寫要求 URL 路徑,並將要求轉送至所設定的來源群組中的正確來源。

  • 新增、修改或移除要求/回應標頭以隱藏敏感性資訊,或透過標頭來擷取重要資訊。

  • 支援伺服器變數,以動態變更要求標頭、響應標頭或URL重寫路徑/查詢字串。 例如,在載入新頁面或張貼表單時。 目前只有規則集動作才支援伺服器變數。

架構

規則集會在 Front Door 邊緣處理要求。 當要求抵達您的 Front Door 端點時,會先處理 WAF (Web 應用程式防火牆),後面接著路由中設定的設定。 這些設定包括與路由相關聯的規則集。 規則集會依其在路由設定下出現的順序進行處理。 規則集中的規則也會依其出現的順序進行處理。 為了讓每個規則中的所有動作都能執行,必須符合規則內的所有比對條件。 如果要求不符合規則集設定中的任何條件,則只會套用預設路由設定。

如果已選取 [停止評估剩餘規則],則不會執行與路由相關聯的任何剩餘規則集。

範例

在下圖中,首先處理的是 WAF 原則。 然後,規則集設定會附加回應標頭。 如果比對條件為 true,則標頭會變更快取控制項的存留期上限。

此圖顯示規則集如何變更透過 Front Door 端點的要求響應標頭。

詞彙

利用 Azure Front Door 規則集,您可以建立任何設定組合,而每個組合都是由一組規則所組成。 以下概述您在設定規則集時會遇到的一些實用術語。

  • 規則集:與一或多個路由相關聯的規則集。

  • 規則集規則:最多由 10 個比對條件和 5 個動作所組成的規則。 規則是規則集的本機規則,而且無法匯出以跨其他規則集使用。 您可以在不同的規則集中建立相同的規則。

  • 比對條件:有許多比對條件,您可以將其設定為剖析傳入要求。 一個規則最多可以包含 10 個比對條件。 比對條件會使用 AND 運算子進行評估。 條件中支援規則運算式。 您可以在規則集比對條件中找到完整的比對條件清單。

  • 動作:動作會規定 Front Door 如何根據比對條件來處理傳入要求。 您可以修改快取行為、修改要求標頭、響應標頭、設定URL重寫和URL重新導向。 支援伺服器變數搭配動作。 一個規則最多可以包含五個動作。 您可以在規則集動作中找到完整的動作清單。

ARM 範本支援

您可以使用 Azure Resource Manager 範本來設定規則集。 如需範例,請參閱具有規則集的 Front Door 標準/進階。 您可以使用比對條件動作文件範例中所含的 JSON 或 Bicep 程式碼片段來自訂行為。

限制

如需配額限制的相關信息,請參閱 Front Door 限制、配額和限制

下一步

重要

Azure Front Door (傳統) 將於 2027 年 3 月 31 日遭到淘汰。 為了避免任何服務中斷,請務必在 2027 年 3 月之前,將 Azure Front Door (傳統) 設定檔移轉至 Azure Front Door 標準或進階層。 如需詳細資訊,請參閱 Azure Front Door (傳統版) 淘汰

規則引擎設定可讓您自訂在 Front Door 邊緣處理 HTTP 要求的方式,並為您的 Web 應用程式提供受控行為。 Azure Front Door (傳統) 的規則引擎具有數個重要功能,包括:

  • 強制使用 HTTPS,以確保所有使用者都能透過安全連線與您的內容互動。
  • 實作安全性標頭可防止以瀏覽器為基礎的弱點,例如跨原始來源資源共用 (CORS) 案例的 HTTP Strict-Transport-Security (HSTS)、X-XSS-Protection、Content-Security-Policy、X-Frame-Options 以及 Access-Control-Allow-Origin 標頭。 以安全性為基礎的屬性也可以使用 Cookie 來定義。
  • 根據要求標頭內容、Cookie 或查詢字串的模式,將要求路由傳送至應用程式的行動或桌面版本。
  • 使用重新導向功能將 301、302、307 和 308 重新導向傳回給用戶端,以導向至新的主機名稱、路徑或通訊協定。
  • 根據傳入的要求,動態修改路由的快取設定。
  • 重寫要求 URL 路徑,並將要求轉送至已設定後端集區中的適當後端。

架構

規則引擎會在邊緣處理要求。 當要求進入您的 Azure Front Door (傳統) 端點時,首先會處理 WAF,接著處理與您前端/網域相關聯的規則引擎設定。 如果處理規則引擎組態,這表示找到比對條件。 為了讓每個規則中的所有動作得到處理,必須符合規則內的所有比對條件。 如果要求不符合規則引擎設定中的任何條件,則會處理預設路由規則。

例如,在下圖中,規則引擎已設定為附加回應標頭。 如果要求檔案具有 .jpg 副檔名,則標頭會變更快取控制項的存留期上限。

此圖顯示如果要求的檔案擴展名為 .jpg,規則引擎會變更響應標頭中的快取最大存留期。

在第二個範例中,如果要求裝置的類型為 Mobile,則您會看到規則引擎已設定為將使用者重新導向至網站的行動版本。

此圖顯示如果要求裝置的類型為行動裝置,規則引擎會將使用者重新導向至網站的行動裝置版本。

在這兩個範例中,當不符合任何比對條件,就會處理所指定的路由規則。

詞彙

在 Azure Front Door (傳統) 中,您可以建立許多組合的規則引擎設定,而每個設定都是由一組規則所組成。 以下概述在設定規則引擎時,您會遇到的一些實用術語。

  • 規則引擎設定:套用至單一路由的一組規則。 每個組態的限制為 25 個規則。 您最多可以建立 10 個組態。
  • 規則引擎規則:最多由 10 個比對條件和 5 個動作所組成的規則。
  • 比對條件:有許多比對條件可用來剖析傳入要求。 一個規則最多可以包含 10 個比對條件。 比對條件會使用 AND 運算子進行評估。 如需比對條件的完整清單,請參閱規則比對條件
  • 動作:動作可決定傳入要求會發生什麼情況 - 要求/回應標頭動作、轉送、重新導向和重寫現在均可供使用。 規則最多可以包含五個動作:不過,規則可能只包含一個路由組態覆寫。 如需動作的完整清單,請參閱規則動作

下一步