
# 配置地理位置访问控制规则拦截/放行特定区域请求
如果您需要对请求来源的IP地址归属的地理区域进行访问控制，可设置地理位置访问控制规则，WAF通过识别客户端访问请求的来源区域，一键封禁来自特定区域的访问或者允许特定区域的来源IP的访问，解决部分地区高发的恶意请求问题。可针对指定国家、地区的来源IP自定义访问控制。
如果您仅允许某一地区的来源IP访问防护网站，请参见[仅允许某一地区来源IP访问请求]进行配置。
#### IP位置判断依据
WAF获取真实客户端IP后，通过查询WAF IP地理位置库判定IP地理位置信息。WAF默认基于TCP连接源IP（非X-Forwarded-For）获取真实客户端IP，如需修改真实客户端IP获取逻辑需配合[获取真实客户端IP](https://support.huaweicloud.com/bestpractice-waf/waf_06_0020.html)进行配置。
IP地理位置库存在边界误差，邻近国家、地区可能定位偏差，如需精确控制建议结合[IP黑白名单规则](https://support.huaweicloud.com/usermanual-waf/waf_01_0012.html)使用。
#### 约束条件
| 类别        | 约束说明                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|
| 接入方式与版本限制 | - **云模式** **-CNAME接入/云模式-ELB接入** ：仅**标准版** 、**专业版** 、**企业版**支持该功能。  - **独享模式接入**：支持该功能。                                                                                                                                             |
| 生效条件      | - **云模式-ELB接入**场景下，ELB监听器的"前端协议"为TCP、UDP、QUIC时，使用该规则不生效。  - **独享模式接入** 场景下，需要[将独享引擎实例版本升级到最新版本](https://support.huaweicloud.com/usermanual-waf/waf_01_0253_4.html#waf_01_0253_4__section14776618151819)，"IP范围"配置的IPv6地址，才会生效。   |
| 规则生效时间    | 添加或修改防护规则后，规则生效需要等待几分钟。规则生效后，您可以在"防护事件"页面，[查看防护效果](https://support.huaweicloud.com/usermanual-waf/waf_01_0156.html)。                                                                                                                                                                                                                                                                       |
| 配置限制      | 同一个地区只能配置到一条地理位置访问控制规则中。例如，如果某个地理位置访问控制规则已设置了"上海"地区，那么"上海"地区不能再添加到其他地理位置访问控制规则。                                                                                                                                                                                                                                                                                                            |
   
#### 前提条件
- 已[将网站成功接入WAF](https://support.huaweicloud.com/usermanual-waf/waf_01_1108.html)。
- 如果使用独享WAF，确保独享引擎已升级到最新版本，具体的操作请参见[升级独享引擎实例](https://support.huaweicloud.com/usermanual-waf/waf_01_0253_4.html)。
 
#### 配置地理位置访问防护规则
1. [登录Web应用防火墙控制台](https://console.huaweicloud.com/waf/?locale=zh-cn)。
2. 在控制台左上角，单击![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002304713360.png)图标，选择区域或项目。
3. (可选) 如果您已开通企业项目，在左侧导航栏上方单击"按企业项目筛选"下拉框，选择您所在的企业项目。完成后，页面将为您展示该企业项目下的相关数据。
4. 在左侧导航栏，选择"防护策略 \> WAF核心防护"。
5. 在防护策略列表，单击目标策略名称，进入目标策略的防护规则配置页面。 
   您也可以在"资产管理 \> 防护对象"页面，单击目标域名"防护策略"列的"已开启防护项"后的数字，进入网站绑定的防护策略的规则配置页面。
   
   
6. 单击"地理位置访问控制"配置框，确认已开启地理位置访问控制防护规则。 
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000001761737873.png)：开启状态。
   
   
7. 在"地理位置访问控制"配置列表的左上方，单击"添加规则"。
8. 在弹出的对话框中，添加地理位置访问控制规则。如[图1]所示，根据[表1]配置参数。
   
   图1添加地理位置访问控制规则   
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002120598894.png "点击放大")
    表1添加地理位置访问控制规则参数说明 
   | 参数       | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 取值样例    |
   |:---|:---|:---|
   | 规则名称     | 填写地理位置访问控制规则的名字。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | -       |
   | 规则描述（可选） | 设置该规则的备注信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | waf     |
   | 地理位置     | 选择IP访问的地理范围，支持"中国"和"中国境外"地区。 地理位置不支持被重复添加到多个防护策略中。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | 中国："上海" |
   | IP范围     | 设置IP的生效范围，支持：IPv4、IPv6、任意（IPv4和IPv6）。 说明： 如果您使用的独享模式，需要[将独享引擎实例版本升级到最新版本](https://support.huaweicloud.com/usermanual-waf/waf_01_0253_4.html#waf_01_0253_4__section14776618151819)，选择IPv6，配置才会生效。                                                                                                                                                                                                                                                                                                                              | IPv4    |
   | 防护动作     | 设置请求命中规则时要执行的处置动作。 说明： 选择防护动作前，需综合考虑当前防护规则的检测优先级，避免高优先级规则因防护动作配置不当，影响低优先级规则的检测。 - **拦截** ：表示拦截来源于指定地理位置的IP访问网站域名，并向发起请求的客户端返回拦截响应页面。 WAF默认使用统一的拦截响应页面，您也可以[自定义拦截响应页面](https://support.huaweicloud.com/usermanual-waf/waf_01_0154.html)。   - **放行**：表示允许来源于指定地理位置的IP访问网站域名。  - **仅记录**：表示不拦截来源于指定地理位置的IP访问网站域名，只通过日志记录防护信息。   | "拦截"    |
      
   
   
9. 单击"确定"，添加的地理位置访问控制规则展示在地理位置访问控制规则列表中。 
   如果要生效该防护规则，需确认防护规则所属防护策略已[绑定防护域名](https://support.huaweicloud.com/usermanual-waf/waf_01_0074.html)，即绑定策略生效目标。一条防护策略可以适用于多个防护域名，但一个防护域名只能绑定一个防护策略。
   完成以上配置后，您还可以执行以下操作：
   - **查看规则状态**：在防护规则列表，查看已添加的规则。此时，"规则状态"默认为"已开启"。
   
   - **关闭规则**：如果您暂时不想使该规则生效，可在目标规则"操作"列，单击"关闭"。
   
   - **删除或修改规则**：您也可以在目标规则"操作"列，单击"删除"或"修改"，删除或修改已添加的防护规则。
   
   - **验证防护效果** ：
     1. 清理浏览器缓存，使用"上海"的IP，在浏览器中访问"http://www.example.com"页面，正常情况下，WAF会阻断该IP的访问请求，返回拦截页面。
     
     2. 在"防护事件"页面，查看防护日志。
      
   
   
   
   
 
#### 配置示例
您可以参考以下配置示例，配置地理位置访问控制规则。
 #### 仅允许某一地区来源IP访问请求
当您只允许某一地区的IP可以访问防护域名，例如，只允许来源"上海"地区的IP可以访问防护域名，请参照以下步骤处理。
![](https://support.huaweicloud.com/usermanual-waf/public_sys-resources/note_3.0-zh-cn.png)
该种场景下，如果直接放行来源"上海"地区的IP请求，会导致请求跳过地理位置访问控制之后的所有防护规则检测，而直接被转发到源站。为避免该情况，建议您拦截除"上海"地区外的其他地区的所有请求。防护规则检测顺序请参见[防护检测原理](https://support.huaweicloud.com/usermanual-waf/waf_01_0129.html#waf_01_0129__section54901743311)。
1. 单击"地理位置访问控制"配置框，确认已开启地理位置访问控制防护规则。 
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000001761737873.png)：开启状态。
   
   
2. 添加一条地理位置访问控制规则，将地理位置配置为除"上海"地区外的其他地区，防护动作配置为"拦截"。 
   图2仅允许某一地区来源IP访问请求   
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002133394453.png "点击放大")
   
   
3. 清理浏览器缓存，在浏览器中访问"http://www.example.com"页面。 
   当非"上海"地区的源IP访问页面时，WAF将拦截该访问请求，拦截页面示例如[图3]所示。
   图3WAF拦截攻击请求   
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000001179033432.png "点击放大")
   
   
4. 返回Web应用防火墙管理控制台，在左侧导航树中，单击"防护事件"，进入"防护事件"页面，您可以查看到非"上海"地区的源IP都被拦截。
 
#### 拦截某一地区来源IP访问请求
以拦截所有来源"北京"地区的IP访问防护域名为例，介绍配置方法。
1. 单击"地理位置访问控制"配置框，确认已开启地理位置访问控制防护规则。 
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000001761737873.png)：开启状态。
   
   
2. 添加一条地理位置访问控制规则，设置"北京"地区"拦截"动作。 
   图4拦截某一地区访问请求   
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002097916680.png "点击放大")
   
   
3. 清理浏览器缓存，在浏览器中访问"http://www.example.com"页面。 
   当"北京"地区的源IP访问页面时，WAF将拦截该访问请求，拦截页面示例如[图5]所示。
   图5WAF拦截攻击请求   
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000001179033432.png "点击放大")
   
   
4. 返回Web应用防火墙管理控制台，在左侧导航树中，单击"防护事件"，进入"防护事件"页面，您可以查看该防护事件。 
   图6查看防护事件-拦截某一地区IP访问请求   
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000001225545453.png "点击放大")
   
   
#### 常见问题
[地理位置访问控制未生效排查方法](https://support.huaweicloud.com/waf_faq/waf_01_0565.html)
