

**推出 的新主控台體驗 AWS WAF**

您現在可以使用更新後的體驗，在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊，請參閱[使用 主控台](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)。

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

# 在 中過大 Web 請求元件 AWS WAF
<a name="waf-oversize-request-components"></a>

本節說明如何管理在 中檢查 Web 請求內文、標頭和 Cookie 的大小限制 AWS WAF。

AWS WAF 不支援檢查 Web 請求元件內文、標頭或 Cookie 的超大型內容。基礎主機服務對其轉送到 AWS WAF 進行檢查的項目具有計數和大小限制。例如，主機服務不會傳送超過 200 個標頭給 AWS WAF，因此對於具有 205 個標頭的 Web 請求， AWS WAF 無法檢查最後 5 個標頭。

當 AWS WAF 允許 Web 請求繼續到您的受保護資源時，會傳送整個 Web 請求，包括 AWS WAF 超出可檢查之計數和大小限制的任何內容。

**元件檢查大小限制**  
元件檢查大小限制如下：
+ **`Body` 和 `JSON Body`** – 對於 Application Load Balancer 和 AWS AppSync， AWS WAF 可以檢查請求主體的前 8 KB。根據預設，對於 CloudFront、API Gateway、Amazon Cognito、App Runner 和 Verified Access， AWS WAF 可以檢查前 16 KB，並且您可以將保護套件 (Web ACL) 組態中的限制提高到 64 KB。如需詳細資訊，請參閱[在 中管理主體檢查的考量事項 AWS WAF](web-acl-setting-body-inspection-limit.md)。
+ **`Headers`** – 最多 AWS WAF 可以檢查請求標頭的前 8 KB (8，192 個位元組） 和前 200 個標頭。內容最多可 AWS WAF 達第一個限制可供檢查。

  當您檢查請求中的所有標頭時，會套用這些限制。當您檢查單一標頭時， AWS WAF 可以在沒有這些大小或計數限制的情況下檢查該標頭的完整內容。
+ **`Cookies`** – 最多 AWS WAF 可以檢查請求 Cookie 的前 8 KB (8，192 個位元組） 和前 200 個 Cookie。內容最多可 AWS WAF 達第一個限制可供檢查。

**規則陳述式的超大處理選項**  
當您撰寫規則陳述式來檢查其中一個請求元件類型時，您可以指定如何處理過大元件。當規則檢查的請求元件超過大小限制時，超大處理 AWS WAF 會告知如何處理 Web 請求。

處理過大元件的選項如下：
+ **Continue** – 根據規則檢查條件，正常檢查請求元件。 AWS WAF 會檢查大小限制內的請求元件內容。
+ **Match** – 將 Web 請求視為符合規則陳述式。 會將規則動作 AWS WAF 套用至請求，而不根據規則的檢查條件進行評估。
+ **No match** – 將 Web 請求視為不符合規則陳述式，而不根據規則的檢查標準進行評估。 會使用保護套件 (Web ACL) 中的其餘規則 AWS WAF 繼續檢查 Web 請求，就像對任何不相符規則所做的一樣。

在 AWS WAF 主控台中，您必須選擇其中一個處理選項。在主控台外，預設選項為 Continue。

如果您在其動作設為 的規則中使用 Match選項Block，則規則會封鎖已檢查元件過大的請求。使用任何其他組態時，請求的最終處置取決於各種因素，例如保護套件 (Web ACL) 中其他規則的組態，以及保護套件 (Web ACL) 的預設動作設定。

**在非您擁有的規則群組中進行過大處理**  
元件大小和計數限制適用於您在保護套件 (Web ACL) 中使用的所有規則。這包括您在受管規則群組和另一個帳戶與您共用的規則群組中，使用但未管理的任何規則。

當您使用未管理的規則群組時，規則群組可能會有規則來檢查有限的請求元件，但不會以您需要的方式處理過大的內容。如需 AWS 受管規則如何管理過大元件的資訊，請參閱 [AWS 受管規則規則群組清單](aws-managed-rule-groups-list.md)。如需其他規則群組的資訊，請洽詢您的規則群組提供者。

**管理保護套件中過大元件的準則 (Web ACL)**  
您在保護套件 (Web ACL) 中處理過大元件的方式，取決於多種因素，例如請求元件內容的預期大小、保護套件 (Web ACL) 的預設請求處理，以及保護套件 (Web ACL) 中的其他規則如何符合和處理請求。

管理過大 Web 請求元件的一般準則如下：
+ 如果您需要允許某些具有過大元件內容的請求，請盡可能新增規則以明確允許這些請求。優先考慮這些規則，使其在檢查相同元件類型的保護套件 (Web ACL) 中的任何其他規則之前執行。透過此方法，您將無法使用 AWS WAF 來檢查您允許傳遞至受保護資源的超大元件的完整內容。
+ 對於所有其他請求，您可以透過封鎖超過限制的請求來防止任何額外的位元組通過：
  + **您的規則和規則群組** – 在檢查具有大小限制的元件的規則中，設定過大處理，以便封鎖超出限制的請求。例如，如果您的規則封鎖具有特定標頭內容的請求，請將超大處理設定為符合具有超大標頭內容的請求。或者，如果您的保護套件 (Web ACL) 預設封鎖請求，且您的規則允許特定標頭內容，則請將規則的過大處理設定為與具有過大標頭內容的任何請求不相符。
  + **您未管理的規則群組** – 為了防止您未管理的規則群組允許過大請求元件，您可以新增單獨的規則來檢查請求元件類型，並封鎖超過限制的請求。優先考慮保護套件中的規則 (Web ACL)，使其在規則群組之前執行。例如，您可以在保護套件 (Web ACL) 中執行任何內文檢查規則之前，使用過大內文內容封鎖請求。下列程序說明如何新增此類型的規則。

## 封鎖過大的 Web 請求元件
<a name="waf-oversize-request-components-blocking"></a>

您可以在保護套件 (Web ACL) 中新增規則，以封鎖具有過大元件的請求。

**新增封鎖過大內容的規則**

1. 當您建立或編輯保護套件 (Web ACL) 時，請在規則設定中選擇**新增規則**、**新增我自己的規則和規則群組**、**規則建置器**，然後選擇**規則視覺化編輯器**。如需建立或編輯保護套件 (Web ACL) 的指引，請參閱 [在 中檢視 Web 流量指標 AWS WAF](web-acl-working-with.md)。

1. 輸入規則的名稱，並將**類型**設定保留為**規則**。

1. 從其預設值變更下列相符設定：

   1. 在**陳述**式上，針對**檢查**，開啟下拉式清單並選擇您需要的 Web 請求元件，包括**內文**、**標頭**或 **Cookie**。

   1. 針對**相符類型**，選擇**大於的大小**。

   1. 針對**大小**，輸入至少為元件類型大小下限的數字。針對標頭和 Cookie，輸入 `8192`。在 Application Load Balancer 或 AWS AppSync 保護套件 (Web ACLs) 中，針對內文，輸入 `8192`。對於 CloudFront、API Gateway、Amazon Cognito、App Runner 或 Verified Access 保護套件 (Web ACLs) 中的主體，如果您使用預設的主體大小限制，請輸入 `16384`。否則，請輸入您為保護套件定義的體型大小限制 (Web ACL)。

   1. 針對**超大處理**，選取**相符**。

1. 針對**動作**，選取**封鎖**。

1. 選擇**新增規則**。

1. 新增規則後，在**設定規則優先順序**頁面上，將其移至您保護套件 (Web ACL) 中檢查相同元件類型的任何規則或規則群組上方。這為新規則提供了較低的數值優先順序設定，這會導致 先 AWS WAF 對其進行評估。如需詳細資訊，請參閱[設定規則優先順序](web-acl-processing-order.md)。