我想使用 AWS WAF 来允许或阻止来自特定国家/地区或地理位置的请求。
简短描述
要阻止特定国家/地区访问您的网站,或仅允许特定国家/地区访问,请使用地理匹配规则语句。
首先,添加一条地理匹配规则语句,以允许来自您想要允许的国家/地区的 Web 请求。然后,为您想要阻止的国家/地区添加第二条地理匹配规则语句。
**注意:**如果您使用 Amazon CloudFront 地理限制来阻止某个国家/地区访问您的内容,则 CloudFront 会阻止来自该国家/地区的所有请求。CloudFront 不会将这些请求转发到 AWS WAF。要使用 AWS WAF 条件基于地理位置允许或阻止请求,请改用 AWS WAF 地理匹配规则语句。
解决方法
完成以下步骤:
- 打开 AWS WAF 控制台。
- 在导航窗格中的 AWS WAF 下,选择 Web ACLs(Web ACL)。
- 对于 Region(区域),请选择您在其中创建 Web 访问控制列表 (Web ACL) 的 AWS 区域。
**注意:**如果该 Web ACL 为 CloudFront 设置,则选择 Global(全球)。
- 选择您的 Web ACL。
- 在 Rules(规则)下,选择 Add Rules(添加规则),然后选择 Add my own rules and rule groups(添加我自己的规则和规则组)。
- 对于 Rule type(规则类型),选择 Rule builder(规则生成器)。
- 对于 Name(名称),输入规则的名称。
- 对于 Type(类型),选择 Regular rule(常规规则)。
- 对于 If a request(如果请求),选择 Matches the statement(匹配语句)。
- 对于 Choose an inspection option(选择检查选项),选择 Originates from a country in(源自以下位置的一个国家/地区)。
- 对于 Choose country codes(选择国家/地区代码),选择您想要允许或阻止的国家/地区。
- (可选)选择 Source IP address(源 IP 地址)或 IP address in header(标头中的 IP 地址),以定义请求的来源国家/地区。
**重要事项:**当请求通过内容分发网络 (CDN) 或其他代理网络进行路由时,源 IP 地址会标识该代理。在这种情况下,请求会在标头中发送原始 IP 地址。代理可能会不一致地管理标头,并对其进行修改以绕过检查。
- 对于 Action(操作),选择 Allow(允许)或 Block(阻止)。
**注意:**如果 Web ACL 的默认操作为 Block(阻止),请将规则操作设置为 Allow(允许)。此配置不允许 AWS WAF 检查请求。如果默认操作为 Allow(允许),请将规则操作设置为 Block(阻止),并添加 NOT 语句以指定不阻止的国家/地区。
- 选择 Add rule(添加规则)。
- (可选)对于 Set rule priority(设置规则优先级),选择您的规则,然后设置规则优先级。
- 选择 Save(保存)。