

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

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

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

# 自定义的 Web 请求和响应 Amazon WAF
<a name="waf-custom-request-response"></a>

本节介绍如何将自定义 Web 请求和响应处理行为添加到 Amazon WAF 规则操作和默认保护包 (Web ACL) 操作中。只要您的自定义设置所附的操作适用，就会适用。

您可以通过以下方式自定义 web 请求和响应：
+ 使用 Allow、Count、CAPTCHA 和 Challenge 操作，您可以在 web 请求中插入自定义标头。当 Amazon WAF 将 web 请求转发到受保护的资源时，该请求将包含整个原始请求以及您插入的自定义标头。对于 CAPTCHA 和 Challenge 操作，只有在该请求通过了验证码或质询令牌检查后， Amazon WAF 才会应用此自定义响应。
+ 通过 Block 操作，您可以定义完整的自定义响应，包括响应代码、标头和正文。受保护的资源使用提供的自定义响应来响应请求 Amazon WAF。您的自定义响应将取代 `403 (Forbidden)` 的默认 Block 操作响应。

**您可以自定义的操作设置**  
在定义以下操作设置时，可以指定自定义请求或响应：
+ 规则操作。有关信息，请参阅[在中使用规则操作 Amazon WAF](waf-rule-action.md)。
+ 保护包（web ACL）的默认操作。有关信息，请参阅[在中设置保护包 (Web ACL) 的默认操作 Amazon WAF](web-acl-default-action.md)。

**您无法自定义的操作设置**  
对于在保护包（web ACL）中使用的规则组，您*不能*在覆盖操作中指定自定义请求处理。请参阅[使用包含规则和规则组的保护包 (Web ACLs) Amazon WAF](web-acl-processing.md)。另请参阅 [在中使用托管规则组语句 Amazon WAF](waf-rule-statement-type-managed-rule-group.md) 和 [在中使用规则组语句 Amazon WAF](waf-rule-statement-type-rule-group.md)。

**更新期间暂时出现不一致**  
创建或更改保护包 (Web ACL) 或其他 Amazon WAF 资源时，更改需要很少的时间才能传播到存储资源的所有区域。传播时间可以从几秒钟到几分钟不等。

以下示例是更改传播过程中可能暂时出现的不一致：
+ 创建保护包（web ACL）后，如果您尝试将其与资源关联，则可能会出现异常，指示保护包（web ACL）不可用。
+ 将规则组添加到保护包（web ACL）后，新的规则组规则可能在某个使用保护包（web ACL）的区域生效，而在另一个区域不生效。
+ 更改规则操作设置后，可能会在某些位置显示旧操作而在另一些位置显示新操作。
+ 将 IP 地址添加到阻止规则中使用的 IP 集后，新地址可能会在一个区域中被阻止，而在另一个区域中仍然允许。

**对您使用自定义请求和响应的限制**  
Amazon WAF 定义了您使用自定义请求和响应的最大设置。例如，每个保护包（web ACL）或规则组的最大请求标头数，以及单个自定义响应定义的最大自定义标头数。有关信息，请参阅[Amazon WAF 配额](limits.md)。

**Topics**
+ [为非阻止操作插入自定义请求标头](customizing-the-incoming-request.md)
+ [发送 Block 操作的自定义响应](customizing-the-response-for-blocked-requests.md)
+ [自定义响应支持的状态码](customizing-the-response-status-codes.md)