
# CDN加速访问OBS桶文件
#### 场景介绍
某游戏网站主要服务在中国大陆范围，目前已购买OBS桶服务，并存放了大量游戏软件、图片等文件在OBS中。随着用户不断增长，游戏下载、图片加载都存在响应较慢的问题，特别是离文件存放区域较远的用户。基于以上诉求，该网站决定采用CDN加速访问OBS方案，以最低成本实现游戏下载加速，提升用户访问体验。
#### 数据准备
| 准备项  | 说明                                                                                                                                                                                                                                                        | 示例                          |
|:---|:---|:---|
| 网站域名 | 游戏网站域名。如果您的服务范围为"中国大陆"或"全球"，根据中国《互联网管理条例》的要求，此域名必须在**工信部备案并在有效期内**才可以使用CDN加速。 - 域名在华为云备案请参考[备案](https://beian.huaweicloud.com/)。   | download.game-apk1.com（已备案） |
| OBS桶 | 版本号为3.0以上的OBS存储桶，桶策略为公共读，未开通静态网站托管。                                                                                                                                                                                                                       | obs-doc-test                |
   
#### 实施步骤
本文主要介绍如何从CDN控制台完成加速配置，如果您需要在OBS控制台完成加速配置，请参考[通过CDN加速域名访问桶](https://support.huaweicloud.com/usermanual-obs/obs_03_0600.html)。
1. 将网站所需图片、软件包等静态资源存储至已准备的OBS桶中，可通过OBS控制台、OBS Browser、SDK等多种方式创建桶、上传文件，具体操作请参考[OBS帮助文档](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)。
2. **在CDN控制台添加加速域名**
   1. 登录[CDN控制台](https://console.huaweicloud.com/cdn/?locale=zh-cn#/cdn/overview)。
   
   2. 单击左侧"域名管理"，进入域名管理页面。
   
   3. 在域名管理页面单击"添加域名"。
   
   4. 配置域名及CDN加速等信息。
      - 服务范围：中国大陆。
      
      - 加速域名：download.game-apk1.com，首次接入CDN加速需要验证域名归属权。
      
      - 业务类型：文件下载加速。
      
      - 源站配置：
        - 回源方式：协议跟随。
        
        - 源站类型：选择"OBS桶域名"。
        
        - 源站地址：选择本账号桶"obs-doc-test"的桶域名。
        
        - 静态网站托管：不勾选。
        
        - 回源鉴权：关闭。
        
        - 优先级：70。
        
        - 回源HOST：默认为桶域名。
        
        
        ![](https://support.huaweicloud.com/bestpractice-cdn/public_sys-resources/note_3.0-zh-cn.png)
        - 如果您使用了2022年1月1日以后创建的OBS桶作为源站，并且需要支持在线预览功能，您要在CDN控制台\>域名管理\>高级设置\>HTTP header配置，将"Content-Disposition"的值设为"inline"，详见[如何在浏览器中在线预览OBS中的对象？](https://support.huaweicloud.com/obs_faq/obs_03_0087.html)。
        
        - 如果您的OBS桶开启了镜像回源（数据回源），添加加速域名时请勿勾选"静态网站托管"功能，否则会造成数据回源不生效，详见[数据回源](https://support.huaweicloud.com/usermanual-obs/obs_03_0006.html)。
          
       
   
   5. 根据业务需求设置**突发带宽告警** 和**用量封顶** 功能，勾选**数据跨境合规承诺**。
   
   6. 单击"确定"，完成域名添加。
    
3. **配置CNAME**
   添加加速域名后，CDN会自动生成一条CNAME域名。加速域名在CDN服务中获得的CNAME域名不能直接访问，必须在加速域名的域名服务商处配置CNAME记录，将加速域名指向CNAME域名，访问加速域名的请求才能转发到CDN节点上，达到加速效果。本实践中自动生成的CNAME域名为"download.game-apk1.com.\*\*\*.c.cdnhwc1.com"。不同DNS服务商的CNAME配置方式不同，此处以华为云云解析服务为例。其他DNS服务商的CNAME配置方法可参考[配置CNAME域名解析](https://support.huaweicloud.com/drawer-cdn/cdn_drawer_01021.html)。
   1. 登录[华为云控制台](https://console.huaweicloud.com)，在控制台首页选择"网络 \> 云解析服务DNS"，进入云解析服务页面。
   
   2. 在左侧菜单栏中，选择"公网域名"，进入公网域名列表页面。
   
   3. 在待添加记录集的域名所在行，单击"域名"列的域名名称。本实践中对应的域名为"game-apk1.com."。
   
   4. 单击"game-apk1.com"，进入域名解析页面，然后单击右上角"添加记录集"，进入"添加记录集"页面。
   
   5. 根据[表1]示例列填写相关参数值，表中未提到的参数可保持默认值。
       表1解析配置 
      | 参数     | 说明                                                                                                | 示例                                          |
      |:---|:---|:---|
      | 主机记录   | 主机记录指域名前缀。                                                                                        | download                                    |
      | 类型     | 记录集的类型，此处为CNAME类型。                                                                                | CNAME-将域名指向另外一个域名                           |
      | 别名     | 用于是否将此记录集关联至云服务资源实例。                                                                              | 否                                           |
      | 线路类型   | 用于DNS服务器在解析域名时，根据访问者的来源，返回对应的服务器IP地址。 添加解析线路类型时，切记先添加默认线路类型，以保证网站可访问。 | 全网默认                                        |
      | TTL(秒) | TTL指解析记录在本地DNS服务器的有效缓存时间。如果您的服务地址经常更换，建议TTL值设置相对小些，反之，建议设置相对大些。                                   | 5分钟                                         |
      | 值      | 需指向的域名。 如果没有开启CDN加速，该值为桶访问域名；如果开启CDN加速后，该值为CDN分配的CNAME域名。           | download.game-apk1.com.\*\*\*.c.cdnhwc1.com |
         
      
   
   6. 单击"确定"，完成添加。
    
4. **验证CNAME配置是否生效**
   打开Windows操作系统中的cmd程序，输入如下指令：
   ```
   nslookup -qt=cname 桶绑定的自定义域名
   ```
   本实践中桶绑定的自定义域名为"download.game-apk1.com"。如果回显CDN分配的CNAME域名，则表示CNAME配置已经生效。
   
5. **配置文件下载URL**
   将代码中需要加速下载的文件URL地址配置为：游戏网站域名+文件在OBS桶中的存储路径+文件名称。
   以配置的游戏网站域名download.game-apk1.com以及存储在obs-doc-test桶中的game/3.2.1/文件夹下的android.apk文件为例，文件下载URL的配置如下：
   ```
   https://download.game-apk1.com/game/3.2.1/android.apk
   ```
   
6. **验证** **业务**
   待游戏网站重新部署后，登录游戏网站，浏览网页图片、进行游戏下载。
   如果图片可以成功显示、游戏可以成功下载，则表示加速配置成功。
   
 
