

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

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

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

# 測試 Web ACL
<a name="classic-web-acl-testing"></a>

**警告**  
AWS WAF Classic 正在經歷規劃end-of-life程序。如需區域特定的里程碑和日期，請參閱您的 AWS Health 儀表板。

**注意**  
這是 **AWS WAF Classic** 文件。只有在您在 2019 年 11 月 AWS WAF 之前建立 AWS WAF 規則和 Web ACLs 等資源，且尚未將它們遷移到最新版本時，才應該使用此版本。若要遷移您的 Web ACLs，請參閱 [將您的 AWS WAF Classic 資源遷移至 AWS WAF](waf-migrating-from-classic.md)。  
**如需 的最新版本 AWS WAF**，請參閱 [AWS WAF](waf-chapter.md)。

為了確保您不小心設定 AWS WAF Classic 來封鎖您想要允許或允許您想要封鎖之請求的 Web 請求，建議您在網站或 Web 應用程式上開始使用 Web ACL 之前，先徹底測試 Web ACL。

**Topics**
+ [計數在 Web ACL 中符合規則的 web 請求](#classic-web-acl-testing-count)
+ [檢視 API Gateway CloudFront 或 Application Load Balancer 已轉送至 AWS WAF Classic 的 Web 請求範例](#classic-web-acl-testing-view-sample)

## 計數在 Web ACL 中符合規則的 web 請求
<a name="classic-web-acl-testing-count"></a>

當您將規則新增至 Web ACL 時，您可以指定是否要讓 AWS WAF Classic 允許、封鎖或計數符合該規則中所有條件的 Web 請求。建議您以下列組態開始動作：
+ 設定 Web ACL 的所有規則，以計數 Web 請求
+ 設定 Web ACL 的預設動作，以允許請求

在此組態中， AWS WAF Classic 會根據第一個規則中的條件檢查每個 Web 請求。如果 Web 請求符合該規則中的所有條件， AWS WAF Classic 會遞增該規則的計數器。然後， AWS WAF Classic 會根據下一個規則中的條件來檢查 Web 請求。如果請求符合該規則中的所有條件， AWS WAF Classic 會遞增規則的計數器。這會持續到 AWS WAF Classic 根據所有規則中的條件檢查請求為止。

將 Web ACL 中的所有規則設定為計數請求，並將 Web ACL 與 Amazon API Gateway API、CloudFront 分佈或 Application Load Balancer 建立關聯之後，您可以在 Amazon CloudWatch 圖形中檢視產生的計數。對於 Web ACL 中的每個規則，以及 API Gateway、CloudFront 或 Application Load Balancer 轉送至 Web ACL 的 AWS WAF Classic 的所有請求，CloudWatch 可讓您：
+ 檢視前一小時或前三小時的資料，
+ 變更資料點之間的間隔。
+ 變更 CloudWatch 對資料執行的計算，例如最大值、最小值、平均值或總和

**注意**  
AWS WAF Classic with CloudFront 是一項全球服務，而且只有在您在 中選擇**美國東部 （維吉尼亞北部） 區域**時，才能使用指標 AWS 管理主控台。如果您選擇其他區域，則 CloudWatch 主控台中不會顯示 AWS WAF Classic 指標。<a name="classic-web-acl-testing-count-procedure"></a>

**若要在 Web ACL 查看規則資料**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 在導覽窗格中，於 **Metrics** (指標) 下選擇 **WAF**。

1. 選取要檢視資料的 Web ACL 的核取方塊。

1. 變更適用的設定：  
**統計數字**  
選擇 CloudWatch 對資料執行的計算。  
**時間範圍**  
選擇您想要檢視前一小時或前三個小時的資料。  
**Period**  
選擇圖形中資料點之間的間隔。  
**Rules**  
選擇您要檢視資料的規則。

   注意下列事項：
   + 如果您剛將 Web ACL 與 API Gateway API、CloudFront 分佈或 Application Load Balancer 建立關聯，您可能需要等待幾分鐘，資料才會出現在圖形中，而 Web ACL 的指標才會出現在可用指標清單中。
   + 如果您將多個 API Gateway API、CloudFront 分佈或 Application Load Balancer 與 Web ACL 建立關聯，CloudWatch 資料將包含與 Web ACL 建立關聯之所有分佈的所有請求。
   + 您可以將滑鼠指標移至資料點以取得更多資訊。
   + 圖形不會自動自我重新整理。若要更新顯示，請選擇重新整理 (![\[Icon to refresh the Amazon CloudWatch graph\]](http://docs.aws.amazon.com/zh_tw/waf/latest/developerguide/images/cloudwatch-refresh-icon.png)) 圖示。

1. （選用） 檢視 API Gateway CloudFront 或 Application Load Balancer 已轉送至 AWS WAF Classic 之個別請求的詳細資訊。如需詳細資訊，請參閱[檢視 API Gateway CloudFront 或 Application Load Balancer 已轉送至 AWS WAF Classic 的 Web 請求範例](#classic-web-acl-testing-view-sample)。

1. 如果您認為規則正在攔截您不希望攔截的請求，請變更設定。如需詳細資訊，請參閱[建立和設定 Web 存取控制清單 (Web ACL)](classic-web-acl.md)。

   當您對所有規則都能攔截到正確請求感到滿意時，請將每個規則的操作更改為**允許**或**封鎖**。如需詳細資訊，請參閱[編輯 Web ACL](classic-web-acl-editing.md)。

## 檢視 API Gateway CloudFront 或 Application Load Balancer 已轉送至 AWS WAF Classic 的 Web 請求範例
<a name="classic-web-acl-testing-view-sample"></a>

在 AWS WAF Classic 主控台中，您可以檢視 API Gateway CloudFront 或 Application Load Balancer 已轉送至 AWS WAF Classic 進行檢查的請求範例。對於每個抽樣請求，您可以查看請求的詳細資料，例如源於的 IP 地址和包含在請求中的標頭。您也可以檢視請求符合的規則、規則是否有正確設定以用於允許或封鎖請求。

請求樣本最多含有 100 個請求符合所有條件中的每個規則中，以及另外 100 個預設動作的請求，這些請求適用於不符合所有條件中的任何規則。範例中的請求來自過去 15 分鐘內收到內容請求的所有 API Gateway APIs、CloudFront 節點或 Application Load Balancer。<a name="classic-web-acl-testing-view-sample-procedure"></a>

**檢視 API Gateway； CloudFront 或 Application Load Balancer 已轉送至 AWS WAF Classic 的 Web 請求範例**

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/) 開啟 AWS WAF 主控台。

   如果您在導覽窗格中看到**切換到 AWS WAF 傳統**，請選取它。

1. 在導覽窗格中，選擇您要檢視的 Web ACL 請求。

1. 在右窗格中，選擇**請求**標籤。

   **抽樣請求** 表為每個請求顯示以下的值：  
**來源 IP**  
請求源自的 IP 地址，或者，如果檢視器使用 HTTP 代理或 Application Load Balancer 傳送請求，則為代理或 Application Load Balancer 的 IP 地址。  
**URI**  
請求的 URI 路徑，可識別資源，例如 `/images/daily-ad.jpg`。這不包含 URI 的查詢字串或片段元件。如需詳細資訊，請參閱[統一資源識別符 (URI)：一般語法](https://tools.ietf.org/html/rfc3986#section-3.3)。  
**比對規則**  
識別 web 請求中符合所有 Web ACL 條件的中第一個規則。如果 web 請求不符合和所有 Web ACL 條件的規則，則 **Matches rule (比對規則)** 為**預設**。  
請注意，當 Web 請求符合規則中的所有條件且該規則的動作為 **Count** 時， AWS WAF Classic 會根據 Web ACL 中的後續規則繼續檢查 Web 請求。在這種情況下，web 請求可能會在抽樣請求名單上出現兩次：一次因為規則操作 **Count (計數)** 的動作，並再次在後續規則或預設動作操作。  
**Action**  
指出動作對應的規則為**允許**、**封鎖** 或 **Count (計數)**。  
**時間**  
 AWS WAF Classic 從 API Gateway、CloudFront 或 Application Load Balancer 收到請求的時間。

1. 若要顯示請求的其他資訊，請選擇該請求 IP 地址左側的箭頭。 AWS WAF Classic 會顯示下列資訊：  
**來源 IP**  
相同的 IP 地址做為表格中**來源 IP**欄的值。  
**Country**  
請求源自國家的雙字母國家/地區代碼。如果檢視器使用 HTTP 代理或 Application Load Balancer 傳送請求，這是 HTTP 代理或 Application Load Balancer 所在的國家/地區的兩個字母國家/地區代碼。  
如需雙字母國家/地區代碼對應的國家/地區名稱，請參閱 Wikipedia 項目 [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)。  
**Method**  
HTTP 請求方法的請求：`GET`、`HEAD`、`OPTIONS`、`PUT`、`POST`、`PATCH` 或 `DELETE`。  
**URI**  
相同的 URI 做為表格中**來源 IP**欄的值。  
**請求標頭**  
請求的標頭和請求的標頭值。

1. 若要重新整理範例清單，選擇**Get new samples (取得新的範例)**。