

**引入全新的主机体验 AWS WAF**

现在，您可以使用更新的体验访问控制台中任意位置的 AWS WAF 功能。有关更多详细信息，请参阅[使用控制台](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建 Web ACL
<a name="classic-web-acl-creating"></a>

**警告**  
AWS WAF Classic 正在按计划 end-of-life进行。有关您所在地区的里程碑和日期，请参阅您的 AWS Health 控制面板。

**注意**  
这是 **AWS WAF Classic** 文档。只有在 2019 年 11 月 AWS WAF 之前创建了诸如规则和 Web ACLs 之类的 AWS WAF 资源，并且尚未将其迁移到最新版本时，才应使用此版本。要迁移您的网站 ACLs，请参阅[将您的 AWS WAF 经典资源迁移到 AWS WAF](waf-migrating-from-classic.md)。  
**有关的最新版本 AWS WAF，**请参阅[AWS WAF](waf-chapter.md)。<a name="classic-web-acl-creating-procedure"></a>

**创建 web ACL**

1. 登录 AWS 管理控制台 并打开 AWS WAF 控制台，网址为[https://console.aws.amazon.com/wafv2/](https://console.aws.amazon.com/wafv2/)。

   如果您在导航窗格中看到 “**切换到 AWS WAF 经典版**”，请将其选中。

1. 如果这是您第一次使用 AWS WAF 经典版，请选择**转到 AWS WAF 经典版**，然后选择 “**配置 Web ACL**”。如果您以前使用过 AWS WAF Classic，请在导航窗格 ACLs中选择 **Web**，然后选择**创建 Web ACL**。

1. 对于 **Web ACL 名称**，输入一个名称。
**注意**  
web ACL 在创建之后无法更改名称。

1. 对于 **CloudWatch metric name (CloudWatch 指标名称)**，更改默认名称（如果适用）。该名称只能包含字母数字字符（A-Z、a-z、0-9），最大长度为 128 和最小长度为 1。它不能包含为 C AWS WAF lassic 保留的空格或指标名称，包括 “全部” 和 “Default\_Action”。
**注意**  
web ACL 在创建之后无法更改名称。

1. 对于 ** 区域**（亚马逊云科技区域），选择一个区域。

1.  对于 **AWS 资源**，选择要与此 web ACL 关联的资源，然后选择**下一步**。

1. 如果您已经创建了希望 AWS WAF Classic 用来检查您的 Web 请求的条件，请选择 “**下一**步”，然后继续下一步。

   如果尚未创建条件，请创建条件。有关更多信息，请参阅以下主题：
   + [使用跨站点脚本匹配条件](classic-web-acl-xss-conditions.md)
   + [使用 IP 匹配条件](classic-web-acl-ip-conditions.md)
   + [使用地理匹配条件](classic-web-acl-geo-conditions.md)
   + [使用大小约束条件](classic-web-acl-size-conditions.md)
   + [使用 SQL 注入匹配条件](classic-web-acl-sql-conditions.md)
   + [使用字符串匹配条件](classic-web-acl-string-conditions.md)
   + [使用正则表达式匹配条件](classic-web-acl-regex-conditions.md)

1. 如果您已经创建了要添加到此 Web ACL 的规则或 AWS Marketplace 规则组（或订阅了规则组），请将这些规则添加到 Web ACL：

   1. 在**规则**列表中，选择一个规则。

   1. 选择**向 web ACL 添加规则**。

   1. 重复步骤 a 和 b，添加所有要添加到此 web ACL 的规则。

   1. 前往步骤 10。

1. 如果尚未创建规则，现在可以添加规则：

   1. 选择**创建规则**。

   1. 输入以下值：  
**Name**  
输入名称。  
**CloudWatch 指标名称**  
输入 C AWS WAF lassic 将创建并与规则关联的 CloudWatch 指标的名称。该名称只能包含字母数字字符（A-Z、a-z、0-9），最大长度为 128 和最小长度为 1。它不能包含空格或为 AWS WAF Classic 预留的指标名称，包括“All”和“Default\_Action”。  
创建规则之后，无法更改指标名称。

   1. 要将条件添加到规则，请指定以下值：  
**当请求 does/does 不是**  
**如果您希望 AWS WAF Classic 根据条件中的过滤器来允许或阻止请求，例如源自 IP 地址范围 192.0.2.0/24 的 Web 请求，请选择允许。**  
如果您希望 AWS WAF Classic 根据条件中过滤器的反向来允许或阻止请求，请选择 “**不是**”。**例如，如果 IP 匹配条件包括 IP 地址范围 192.0.2.0/24，并且您希望 Cl AWS WAF assic 允许或阻止*不是来自这些 IP 地址的请求，则选择 “不*是”。**  
**match/originate from**  
选择要添加到规则的条件的类型：  
      + 跨站点脚本匹配条件：选择**在跨站点脚本匹配条件中匹配至少一个筛选条件**
      + IP 匹配条件：选择**源自 IP 地址**
      + 地理匹配条件：选择**源自地理位置**
      + 大小约束条件：选择**在大小约束条件中匹配至少一个筛选条件**
      + SQL 注入匹配条件：选择**在 SQL 注入匹配条件中匹配至少一个筛选条件**
      + 字符串匹配条件：选择**在字符串匹配条件中匹配至少一个筛选条件**
      + 正则表达式匹配条件：选择**在正则表达式匹配条件中匹配至少一个筛选条件**  
**condition name**  
选择要添加到规则的条件。列表仅显示您在前面列表中选择的类型的条件。

   1. 要将另一个条件添加到规则，请选择**添加另一个条件**，然后重复步骤 b 和 c。注意以下几点：
      + 如果您添加多个条件，则 Web 请求必须在每个条件中至少匹配一个筛选条件，Cl AWS WAF assic 才能根据该规则允许或阻止请求。
      + 如果您在同一规则中添加两个 IP 匹配条件，则 Cl AWS WAF assic 将仅允许或阻止来自两个 IP 匹配条件中出现的 IP 地址的请求。

   1. 重复步骤 9，创建要添加到此 web ACL 的所有规则。

   1. 选择**创建**。

   1. 继续执行步骤 10。

1. 对于 Web ACL 中的每个规则或规则组，选择您希望 AWS WAF Classic 提供的管理类型，如下所示：
   + 对于每条规则，选择是否希望 AWS WAF Classic 根据规则中的条件允许、阻止或计数 Web 请求：
     + **允许** — API Gateway CloudFront 或 Application Load Balancer 使用请求的对象进行响应。如果是 CloudFront，如果对象不在边缘缓存中，则将请求 CloudFront 转发到源。
     + **阻止** — API Gateway CloudFront 或 Application Load Balancer 使用 HTTP 403（禁止）状态代码响应请求。 CloudFront 也可以使用自定义错误页面进行响应。有关更多信息，请参阅 [将 AWS WAF 经典版与 CloudFront 自定义错误页面配合使用](classic-cloudfront-features.md#classic-cloudfront-features-custom-error-pages)。
     + **计数** — AWS WAF Classic 会增加符合规则条件的请求计数器，然后根据 Web ACL 中的其余规则继续检查 Web 请求。

       有关在开始使用 web ACL 允许或阻止 web 请求之前，使用 **计数** 测试 web ACL 的信息，请参阅 [对与 web ACL 中的规则匹配的 web 请求计数](classic-web-acl-testing.md#classic-web-acl-testing-count)。
   + 对于每个规则组，为其设置覆盖操作：
     + **无覆盖**：促使利用规则组中各个规则的操作。
     + **覆盖以计数**：覆盖组中各个规则指定的所有阻止操作，以便仅对所有匹配的请求进行计数。

     有关更多信息，请参阅 [规则组覆盖](classic-waf-managed-rule-groups.md#classic-waf-managed-rule-group-override)。

1. 如果要更改 Web ACL 中规则的顺序，请使用**顺序**列中的箭头。 AWS WAF Classic 根据规则在 Web ACL 中出现的顺序来检查 Web 请求。

1. 如果要删除添加到 web ACL 的规则，请在规则所在行中选择 **x**。

1. 选择 web ACL 的默认操作。当 Web 请求与此 Web ACL 中任何规则中的条件都不匹配时，Cl AWS WAF assic 会执行此操作。有关更多信息，请参阅 [确定 Web ACL 的默认操作](classic-web-acl-default-action.md)。

1. 选择 **检查并创建**。

1. 查看 web ACL 的设置，然后选择**确认并创建**。