操作說明AWS WAF適用於 Amazon Amazon CloudFront 功能 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

操作說明AWS WAF適用於 Amazon Amazon CloudFront 功能

當您建立 Web ACL,您可以指定一個或多個 ACL CloudFront 你想要的發行版AWS WAF檢查。AWS WAF根據您在 Web ACL 中識別的條件,開始檢查和管理這些分發的 Web 請求。 CloudFront 提供了一些增強功能AWS WAF功能。本章說明幾個方法讓您可以設定CloudFront 製作 CloudFront 和AWS WAF一起更好地工作。

使用AWS WAF取代為 CloudFront 自訂錯誤頁面

默認情況下,當AWS WAF根據您指定的條件封鎖 Web 請求,它會傳回 HTTP 狀態碼403 (Forbidden)至 CloudFront,以及 CloudFront 將此狀態碼傳回給瀏覽者。檢視器然後會顯示與下列內容相似的簡短且稀疏格式化的預設訊息:

Forbidden: You don't have permission to access /myfilename.html on this server.

您可以重寫這種行為AWS WAF透過定義自訂回應來進行 Web ACL 規則。如需使用自訂回應行為的詳細資訊AWS WAF規則,請參閱封鎖動作的自訂回應

注意

您自訂使用的回應AWS WAF規則的優先順序高於您在中定義的任何回應規格 CloudFront 自訂錯誤頁面。

如果您希望通過顯示自定義錯誤消息 CloudFront,可能使用與您網站其他部分相同的格式,您可以配置 CloudFront 傳回包含自訂錯誤訊息的物件給檢視器 (例如,HTML 檔案)。

注意

CloudFront 無法區別由您原始伺服器傳回的 HTTP 狀態碼 403 和傳回的 HTTP 狀態碼 403AWS WAF請求遭封鎖時。這表示您無法根據不同原因導致 HTTP 狀態碼 403 而傳回不同的自訂錯誤頁面。

如需有關 的詳細資訊 CloudFront 自訂錯誤頁面,請參閱產生自訂錯誤回應中的亞馬遜 CloudFront 開發人員指南

對在您自己的 HTTP 伺服器上執行的應用程式使用 AWS WAF 搭配 CloudFront。

當您使用AWS WAF取代為 CloudFront,您可以保護在任何 HTTP Web 伺服器上執行的應用程式,無論是否是正在 Amazon 彈性運算雲端 (Amazon EC2) 中執行的 Web 伺服器,或是您私人管理的 Web 伺服器。您也可以設定 CloudFront 以要求在之間使用 HTTPS CloudFront以及您自己的 Web 伺服器,以及觀眾和 CloudFront。

要求在之間使用 HTTPS CloudFront 以及您自己的 Web 伺服器

若要在兩者之間需要 HTTPS CloudFront 和您自己的 Web 服務器,您可以使用 CloudFront 自訂原點特徵並設定原始伺服器通訊協定政策原始網域名稱特定原點的設定。在您的 CloudFront 組態,您可以指定伺服器的 DNS 名稱,以及您想要的連接埠和通訊協定 CloudFront 在從原始伺服器擷取物件時使用。您也應確保您自訂原始伺服器上的 SSL/TLS 憑證符合您已設定的原始伺服器的網域名稱。當您在以外使用自己的 HTTP 網絡服務器時AWS,您必須使用信任第三方憑證授權單位 (CA) 簽署的憑證,例如 Comodo、Comodo、Comodo、 DigiCert,或賽門鐵克。如需 HTTPS 進行通訊的詳細資訊 CloudFront和您自己的網絡服務器,請參閱主題之間的通訊需使用 HTTPS CloudFront 和您的自訂原始伺服器中的亞馬遜 CloudFront 開發人員指南

檢視器和之間需使用 HTTPS CloudFront

檢視器與之間需使用 HTTPS CloudFront,您可以變更檢視器通訊協定政策適用於您的一或多個快取行為 CloudFront分佈。有關在檢視器和之間使用 HTTPS 的詳細資訊 CloudFront,請參閱主題:檢視器和 之間的通訊需使用 HTTPS CloudFront中的亞馬遜 CloudFront 開發人員指南。您也可以自備 SSL 憑證,以便觀眾可以連接到您的 CloudFront 例如,使用您自己的域名通過 HTTPS 分發https://www.mysite.com。如需詳細資訊,請參閱主題設定備用網域名稱和 HTTPS中的亞馬遜 CloudFront 開發人員指南

選擇該 CloudFront 回應 HTTP 的方法

當你創建一個亞馬遜 CloudFront Web 分發,您可以選擇您想要的 HTTP 方法 CloudFront 處理並轉送到您的原始伺服器。您可以從下列選項來選擇:

  • GETHEAD— 您可以使用 CloudFront 只能從您的原始伺服器取得物件或物件標頭。

  • GETHEADOPTIONS— 您可以使用 CloudFront 僅從您的原始伺服器取得物件、取得物件標頭,或擷取原始伺服器支援的選項清單。

  • GETHEADOPTIONSPUTPOSTPATCHDELETE— 您可以使用 CloudFront 以及取得物件標頭、新增、更新及刪除物件,以及取得物件標頭。另外,您可以執行其他POST從 Web 表單提交資料等操作。

您也可以使用 AWS WAF 位元組比對規則陳述式,以根據 HTTP 方法允許或封鎖請求,如字串比對規則陳述式中所述。如果你想使用的方法組合 CloudFront 支援,例如GETHEAD,那麼您不需要設定AWS WAF封鎖使用其他方法的請求。如果你想允許的方法的組合 CloudFront 不支援,例如GETHEAD,以及POST,您可以配置 CloudFront 回應所有方法,然後使用AWS WAF封鎖使用其他方法的請求。

如需有關選擇的詳細資訊 CloudFront 回應,請參閱允許的 HTTP 方法主題您在建立或更新 Web 分佈時指定的值中的亞馬遜 CloudFront 開發人員指南