更新时间:2024-10-18 GMT+08:00

CDN加速OBS桶文件

场景介绍

某游戏网站主要服务在中国大陆范围,目前已购买OBS桶服务,并存放了大量游戏软件、图片等文件在OBS中。随着用户不断增长,游戏下载、图片加载都存在响应较慢的问题,特别是离文件存放区域较远的用户。基于以上诉求,该网站决定采用CDN加速访问OBS方案,以最低成本实现游戏下载加速,提升用户访问体验。

数据准备

准备项

说明

示例

网站域名

游戏网站域名。如果您的服务范围为“中国大陆”或“全球”,根据中国《互联网管理条例》的要求,此域名必须在工信部备案并在有效期内才可以使用CDN加速。

  • 域名在华为云备案请参考备案

download.game-apk1.com(已备案)

OBS桶

版本号为3.0以上的OBS存储桶,桶策略为公共读,未开通静态网站托管。

obs-doc-test

实施步骤

  1. 将网站所需图片、软件包等静态资源存储至已准备的OBS桶中,可通过OBS控制台、OBS Browser、SDK等多种方式创建桶、上传文件,具体操作请参考OBS帮助文档
  2. 在CDN控制台添加加速域名
    1. 登录华为云控制台,选择“所有服务 > CDN与智能边缘 > 内容分发网络 CDN”,进入CDN管理控制台。
    2. 单击左侧“域名管理”,进入域名管理页面。
    3. 在域名管理页面单击“添加域名”。
    4. 配置域名及CDN加速等信息。
      • 服务范围:中国大陆。
      • 加速域名:download.game-apk1.com,首次接入CDN加速需要验证域名归属权。
      • 业务类型:文件下载加速。
      • 源站配置:
        • 回源方式:协议跟随。
        • 源站类型:选择“OBS桶域名”。
        • 源站地址:选择本账号桶“obs-doc-test”的桶域名。
        • 静态网站托管:不勾选。
        • 桶类型:公有桶。
        • 优先级:主源站。
        • 回源HOST:默认为桶域名。
        • 如果您使用了2022年1月1日以后创建的OBS桶作为源站,并且需要支持在线预览功能,您要在CDN控制台>域名管理>高级设置>HTTP header配置,将“Content-Disposition”的值设为“inline”,详见如何在浏览器中在线预览OBS中的对象?
        • 如果您的OBS桶开启了镜像回源(数据回源),添加加速域名时请勿勾选“静态网站托管”功能,否则会造成数据回源不生效,详见数据回源
    5. 单击“确定”,完成域名添加。
  3. 配置CNAME

    添加加速域名后,CDN会自动生成一条CNAME域名。加速域名在CDN服务中获得的CNAME域名不能直接访问,必须在加速域名的域名服务商处配置CNAME记录,将加速域名指向CNAME域名,访问加速域名的请求才能转发到CDN节点上,达到加速效果。本实践中自动生成的CNAME域名为“download.game-apk1.com.c.cdnhwc1.com”。不同DNS服务商的CNAME配置方式不同,此处以华为云云解析服务为例。其他DNS服务商的CNAME配置方法可参考配置CNAME域名解析

    1. 登录华为云控制台,在控制台首页选择“网络 > 云解析服务DNS”,进入云解析服务页面。
    2. 在左侧菜单栏中,选择“公网域名”,进入公网域名列表页面。
    3. 在待添加记录集的域名所在行,单击“域名”列的域名名称。本实践中对应的域名为“game-apk1.com.”。
    4. 单击“game-apk1.com”,进入域名解析页面,然后单击右上角“添加记录集”,进入“添加记录集”弹出框。
      图1 添加记录集
    5. 根据界面提示填写参数配置,下表中未提到的参数可保持默认值。

      参数

      说明

      示例

      主机记录

      主机记录指域名前缀。

      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. 验证业务

    待游戏网站重新部署后,登录游戏网站,浏览网页图片、进行游戏下载。

    如果图片可以成功显示、游戏可以成功下载,则表示加速配置成功。