# 允许或阻止来自特定国家/地区或地理位置的请求

使用[地理匹配规则语句](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-geo-match.html)阻止特定国家/地区访问您的网站，或仅允许特定国家/地区访问您的网站。

要根据来源国允许某些 Web 请求，请为要允许的国家/地区添加地理匹配规则语句。然后，为要阻止的国家/地区添加第二个地理匹配规则语句。

\*\*注意：\*\*如果您使用 [CloudFront 地理限制](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/georestrictions.html)阻止某个国家/地区访问您的内容，则该国家/地区的任何请求都会被阻止，不会转发给 AWS WAF。如果您想要使用其他 AWS WAF 标准允许或阻止基于地理位置的请求，请改用 AWS WAF 地理匹配规则语句。

### 解决方法

要使用 AWS WAF 允许或阻止来自特定国家/地区或地理位置的请求，请执行以下操作：

1\.    打开 [AWS WAF 控制台](https://console.aws.amazon.com/wafv2/)。

2\.    在导航窗格中的 **AWS WAF** 下，选择 **Web ACL**。

3\.    对于 **Region**（区域），选择您创建 Web ACL 的 AWS 区域。

&#x20;    **注意：**&#x5982;果您的 Web ACL 是为 Amazon CloudFront 设置的，请选择 **Global**（全球）。

4\.    选择您的 Web ACL。

5\.    选择 **Rules**（规则），然后选择 **Add Rules, Add my own rules and rule groups**（添加规则、添加我自己的规则和规则组）。

6\.    对于 **Rule Builder**（规则生成器），为您的规则输入一个名称。

&#x20;     **注意：**&#x540D;称必须包含 1 到 128 个有效字符，例如 A 到 Z、a 到 z、0 到 9、-（连字符）和 \_（下划线）。

7\.    对于 **If a request**（如果是请求），选择 **matches the statement**（与语句匹配）。

8\.    对于 **Choose an inspection**（选择检验）选项，请选择 **Originates from a country**（来源于某个国家/地区）。

9\.    对于 **Choose country codes**（选择国家/地区代码），请选择要检查请求的国家/地区。

10\.  （可选）选择 **Source IP address**（源 IP 地址）或\*\* IP address in header\*\*（标头中的 IP 地址），用于确定来源国。

&#x20;   **警告：**&#x5F53;请求通过 CDN 或其他代理网络路由时，源 IP 地址将标识代理。然后，原始 IP 地址将在\
标头中发送。使用 **IP address in header**（标头中的 IP 地址）要注意，因为代理可能不会一致地处理标头，并且可能会修改标头以绕过检查。

11\.   对于 **Action**（操作），请选择 **Allow**（允许）以允许请求或 **Block**（阻止）以阻止来自步骤 9 中所选国家/地区的请求。

**注意：**&#x9009;择阻止或允许请求时，请考虑为 Web ACL 设置的默认操作。如果默认操作为 **Block**（阻止），则来自所有国家/地区的请求都将被阻止，但此步骤中明确允许的国家/地区除外。这是管理允许的地理请求的最简单配置，但是此配置不提供检查请求内容的机会。

如果默认操作为**Allow**（允许），那么您可以创建一个否定（**NOT**）规则来指定不得阻止的国家/地区。对此规则的操作必须为阻止。这创建了一条规则，该规则不会阻止来自您想要允许的国家/地区的请求，但也不会明确允许这些请求。请求必须等待通过其他用户定义的规则（例如检查恶意内容），然后才能被默认操作允许。这是一种更稳健的配置。

12\.   选择 **Add Rule**（添加规则）。

13\.   （可选）对于 **Set Rule Priority**（设置规则优先级），请选择您的规则，然后移动其优先级。规则将按照出现的顺序进行处理。\
有关更多信息，请参阅 [Web ACL 中规则和规则组的处理顺序](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-processing-order.html)。

14\.   选择 **Save**（保存）。

<br>
