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