
# 配置User-Agent黑白名单规则拦截/放行指定User-Agent
通过配置User-Agent黑名单和白名单实现对访客身份的识别和过滤，从而限制访问CDN资源的用户，提升CDN的安全性。
#### 背景信息
如果您需要通过HTTP请求中的User-Agent字段来实现访问控制，您可以配置CDN的UA黑白名单。
- User-Agent黑名单：如果匹配到黑名单字段，用户将无法访问当前资源，返回403状态码。
- User-Agent白名单：携带白名单字段才能访问当前资源，白名单以外的字段均无法访问当前资源，返回403状态码。
 
#### 注意事项
- User-Agent黑白名单功能默认关闭。
- User-Agent黑名单与User-Agent白名单二选一，不可同时配置。
- 客户端请求命中黑名单被拦截时，消耗了节点资源，因此会产生少量流量/带宽费用，全站加速的域名还会产生请求数费用。
 
#### 操作步骤
1. 登录[CDN控制台](https://console.huaweicloud.com/cdn/?locale=zh-cn#/cdn/overview)。
2. 在左侧菜单栏中，选择"域名管理"。
3. 在域名列表中，单击需要修改的域名，进入"概览"页面。
4. 选择"访问控制"页签。
5. 在User-Agent黑白名单配置模块，打开开关，进入"编辑User-Agent黑白名单"页面。
   图1配置User-Agent黑白名单   
   ![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000002555612066.png "点击放大") 

6. 选择配置的类型，输入规则。
   
   | 参数          | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   |:---|:---|
   | 类型          | **黑名单**：携带黑名单字段无法访问到当前资源，返回403状态码。 **白名单**：携带白名单字段才能访问当前资源，白名单以外的字段均无法访问当前资源，返回403状态码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 空User-Agent | 空User-Agent指HTTP请求头中User-Agent字段内容为空，或者一个HTTP请求中根本不包含User-Agent字段。 设置黑名单时，勾选**拒绝空User-Agent** **访问**，此时将拒绝空User-Agent访问。 设置白名单时，勾选**允许空User-Agent** **访问**，此时将允许空User-Agent访问。 说明： 规则中输入"null"表示User-Agent字段的值是"null"，不等于空User-Agent。                                                                                                                                                                                                                                                  |
   | 规则          | - 支持数字0-9、字符a-z、A-Z，空格，及特殊符"\*"、"."、"-"、"_"、"("、")"、";"、","、"/"、"'"、"#"、"!"、"@"、"$"、"\^"、"\&"、"+"、"="、"\~"、"?"、"""、"\["、"\]"、"{"、"}"、"\\"、":"、"%"。 说明： 后台有特殊配置的域名，配置规则时字符"{"、"}"、"("、")"和"\["、"\]"需要成对出现。   - 仅支持通配符"\*"实现正则匹配，其它字符需要完全匹配。  - 单条规则长度不超过100个字符。  - 最多配置50条规则，每行一条规则。   |
      
   
7. 单击"确定"，完成配置。
8. （可选）关闭User-Agent黑白名单配置。
   - 关闭"状态"开关即可关闭User-Agent黑白名单配置，此时所有配置将被清空，下次启用User-Agent黑白名单功能时需要重新配置相关参数。
    
 
#### 配置示例
加速域名"www.example.com"User-Agent黑白名单配置如下图所示：
![](https://support.huaweicloud.com/usermanual-cdn/zh-cn_image_0000002483698741.png)
当HTTP Request Header中User-Agent如下两种情况时：
```
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko
```
```
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36
```
命中黑名单，返回403状态码。
#### 相关文档
调用接口修改User-Agent黑白名单请参考：[修改域名全量配置接口 - UpdateDomainFullConfig](https://support.huaweicloud.com/api-cdn/UpdateDomainFullConfig.html)。
