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

規則集是自訂的規則引擎,會將規則組合成單一集合。 您可以將規則集與多個路由產生關聯。 規則集可讓您自定義在 Azure Front Door 邊緣處理和處理要求的方式。

常見的支援案例

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

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

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

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

  • 重寫要求 URL 路徑,並將要求轉送至您設定的來源群組中適當的原始來源。

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

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

架構

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

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

範例

在下圖中,會先處理 WAF 原則。 然後,規則集組態會附加回應標頭。 如果比對條件為 true,標頭會變更快取控件的最大存留期。

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

詞彙

使用 Front Door 規則集,您可以建立任何組態組合,每個組合都是由一組規則所組成。 下列幾行說明您在設定規則集時遇到的一些實用術語。

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

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

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

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

ARM 範本支援

您可以使用 Azure Resource Manager 樣本來設定規則集。 如需範例,請參閱使用規則集的 Front Door Standard/進階版。 您可以使用檔範例中包含的 JSON 或 Bicep 代碼段來自定義行為,以符合 條件動作

限制

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

下一步

重要

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

規則引擎組態可讓您自定義在 Front Door Edge 處理 HTTP 要求的方式,並將受控制的行為提供給 Web 應用程式。 適用於 Azure Front Door 的規則引擎(傳統版)有數個主要功能,包括:

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

架構

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

例如,在下圖中,規則引擎會設定為附加響應標頭。 如果要求檔案的擴展名為 .jpg,標頭會變更快取控件的最大存留期。

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

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

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

在這兩個範例中,當不符合任何相符條件時,指定的路由規則就是所處理的內容。

詞彙

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

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

下一步