

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

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

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

# 在中使用规则操作 AWS WAF
<a name="waf-rule-action"></a>

本节介绍了规则操作的工作方式。

当网络请求符合规则中定义的条件时，规则操作会告诉 AWS WAF 您如何处理该请求。您可以选择为每个规则操作添加自定义行为。

**注意**  
规则操作可以是终止，也可以是非终止。终止操作会停止对请求的保护包（web ACL）评估，要么允许请求继续访问受保护的应用程序，要么将其阻止。

以下是规则操作选项：
+ **Allow**— AWS WAF 允许将请求转发到受保护的 AWS 资源进行处理和响应。这是终止操作。在您定义的规则中，您可以在请求中插入自定义标头，然后再将其转发到受保护的资源。
+ **Block**— AWS WAF 阻止请求。这是终止操作。默认情况下，您的受保护 AWS 资源以 HTTP `403 (Forbidden)` 状态代码进行响应。在您定义的规则中，您可以自定义响应。当 AWS WAF 阻止请求时，Block操作设置将决定受保护资源发送回客户端的响应。
+ **Count**— 对请求进行 AWS WAF 计数，但不确定是允许还是阻止请求。这是一个非终止操作。 AWS WAF 继续处理保护包（web ACL）中的其余规则。在您定义的规则中，您可以将自定义标头插入请求中，也可以添加其他规则可以匹配的标签。
+ **CAPTCHA并且 Challenge** — AWS WAF 使用 CAPTCHA 谜题和静默挑战来验证请求不是来自机器人，并 AWS WAF 使用代币来跟踪最近成功的客户响应。

  只有当浏览器访问 HTTPS 端点时，才能运行验证码拼图和静默质询。浏览器客户端必须在安全环境中运行才能获取令牌。
**注意**  
当您在其中一个规则中使用 CAPTCHA 或 Challenge 规则操作或在规则组中将其作为规则操作覆盖时，您需要支付额外费用。有关更多信息，请参阅[AWS WAF 定价](https://aws.amazon.com/waf/pricing/)。

  这些规则操作可以是终止操作，也可以是非终止操作，具体取决于请求中令牌的状态：
  + **Non-terminating 对于有效的未过期令牌** — 如果根据配置的 CAPTCHA 或质询免疫时间，令牌有效且未过期，则 AWS WAF 处理与操作类似的请求。Count AWS WAF 继续根据保护包 (Web ACL) 中的其余规则检查 Web 请求。与 Count 配置类似，在您定义的规则中，您可以选择使用自定义标头配置这些操作以插入到请求中，也可以添加其他规则可以匹配的标签。
  + **以对无效或过期令牌的请求被阻止而终止** — 如果令牌无效或指定的时间戳已过期，则 AWS WAF 终止对 Web 请求的检查并阻止请求，类似于操作。Block AWS WAF 然后使用自定义响应代码响应客户端。因为CAPTCHA，如果请求内容表明客户端浏览器可以处理它，则会在 JavaScript 插页式广告中 AWS WAF 发送一个验证码拼图，该拼图旨在区分人类客户端和机器人。对于Challenge操作， AWS WAF 会发送带有静默挑战的 JavaScript 插页式广告，该挑战旨在将普通浏览器与机器人运行的会话区分开来。

  有关更多信息，请参阅 [CAPTCHA然后Challenge在 AWS WAF](waf-captcha-and-challenge.md)。

有关自定义请求和响应的信息，请参阅 [自定义的 Web 请求和响应 AWS WAF](waf-custom-request-response.md)。

有关为匹配请求添加标签的信息，请参阅 [在 Web 请求中添加标签 AWS WAF](waf-labels.md)。

有关保护包（web ACL）和规则设置如何交互的信息，请参阅 [使用包含规则和规则组的保护包 (Web ACLs) AWS WAF](web-acl-processing.md)。

## 通过行动获利
<a name="waf-rule-action-monetize"></a>

Monetize 操作会向请求的客户端返回 HTTP 402 “需要付款” 的响应。响应包含机器可读的 x402 付款指令，客户使用这些指令来完成付款和访问资源。使用 “获利” 操作向人工智能机器人和代理收取内容访问费用。此操作仅适用于与 Amazon CloudFront 分配关联的网页 ACL，并且需要网 MonetizationConfig 上 ACL。

### “变现” 行动是如何运作的
<a name="waf-rule-action-monetize-how-it-works"></a>

当带有 Monetize 操作的规则与请求匹配时：

1. 如果请求中没有有效的`payment-signature`标头，则会 AWS WAF 发出 “需要付款质询”（带付款说明的 HTTP 402 响应）。

1. 客户签署付款授权书并重新提交带有`payment-signature`标题的请求。

1. AWS WAF 验证付款授权。

1. 成功验证后，请求会继续发送到源站。

1. 在 Origin 返回 2xx 响应后，付款将通过第三方便利服务在链上结算。

1. 内容将通过结算确认提供给客户。

**重要**  
为了实施您的 AI 流量盈利政策，我们使用多种检测技术（例如行为信号和基于风险的系统）来检查和分类入站流量。虽然这些方法旨在提供高可信度的分类，但它们是概率性的，可能无法在所有情况下正确识别或分类所有机器人流量。我们不断测试和更新我们的分析方法以提高准确性。我们建议在启用实时盈利之前，使用测试模式来验证您的保单是否产生了预期的结果。

### 通过操作参数获利
<a name="waf-rule-action-monetize-parameters"></a>


| 参数 | 必需 | 说明 | 
| --- | --- | --- | 
| PriceMultiplier | 否 | 应用于 Web ACL 中定义的基本价格的整数乘数 (1—100)。 MonetizationConfig请求的有效价格是基本价格乘以该值。指定为字符串。默认值："1"。 | 

### 通过行动行为获利
<a name="waf-rule-action-monetize-behavior"></a>
+ **终止评估 — 与** Block 类似，Monetize 操作会终止匹配请求的规则评估。
+ **CloudFront 仅限** — 仅支持保护亚马逊 CloudFront 分销的网页 ACL。
+ **指标** — 在和中`MonetizeRequests`发布指标 CloudWatch，`BlockedRequests`与分开。`AllowedRequests`
+  AWS WAF 日志 — **日志**在触发时会包含特定于获利的字段。

### 示例：JSON 中的货币化规则
<a name="waf-rule-action-monetize-example"></a>

```
{
  "Name": "MonetizeUnverifiedBots",
  "Priority": 5,
  "Statement": {
    "LabelMatchStatement": {
      "Scope": "LABEL",
      "Key": "awswaf:managed:aws:bot-control:bot:unverified"
    }
  },
  "Action": {
    "Monetize": {
      "PriceMultiplier": "2"
    }
  },
  "VisibilityConfig": {
    "CloudWatchMetricsEnabled": true,
    "MetricName": "MonetizeUnknownBotsMetric",
    "SampledRequestsEnabled": true
  }
}
```

### 限制
<a name="waf-rule-action-monetize-limitations"></a>
+ 仅适用于亚马逊 CloudFront （全球范围）。
+ 需要网 MonetizationConfig 上 ACL。
+ Rate-based 规则不能使用 Monetize 作为其操作。