• 如果您有任何疑问或者需要投稿请联系站长,感谢您的访问

  • 如果您有任何问题或者建议可以联系站长,QQ403593407

百度云存储BOS和百度云CDN使用体验-自动镜像存储和送加速域名

教程资源 admin 1年前 (2018-09-27) 280次浏览 0个评论

之前一直在用又拍云的 CDN 加速,除了感觉又拍云的价格比七牛云 CDN 贵一些外,其它的如 CDN 管理与控制功能都觉得非常不错,而且又拍云也在不断地将新技术,例如 TSL 1.3、Https 2 等加入到了 CDN 中,可以说是国内专业做 CDN 这一块算是不错的。

不过,非常可惜的是由于从 Chrome 70 开始已经不信任 Symantec 证书了(当然其它的浏览器如 Firefox 等也会跟着做),又拍云给的二级加速域名使用的 SSL 证书当前已经无法在 Chrome 最新的开发版使用了,好友 Zxilly 也提醒了我,让我注意到了这个问题。

咨询了又拍云客服说会尽快更新二级域名 SSL 证书,但是考虑到用户体验,在又拍云 CDN 没有更换 SSL 证书之前还是将它替换为百度云 CDN 和百度云 BOS。百度 BOS 云存储+百度云 CDN 使用起来与又拍云 CDN 已经差不多了,有一键自动镜像功能,同时也支持 Https 2。

原来使用又拍云 CDN 的网站可以无缝切换到百度云 CDN 上,实际图片、JS、CSS 等静态文件加速。从我个人的使用体验来看,又拍云相对于百度云 CDN 来说收费的价格更高,因为又拍云除了要收流量带宽费,还要收请求费,而且海外的请求费还更贵。

百度云存储 BOS 和百度云 CDN 使用体验-自动镜像存储和支持 Https 免费送域名

本篇文章就来分享一下百度云存储 BOS+百度云 CDN 实现网站静态文件一键镜像和 CDN 加速的方法,S 使用

网站:

  1. https://cloud.baidu.com/

1.1  启用百度云存储 BOS

进入到百度云管理平台,点击“新建 Bucket”,然后选择存储区域,目前有苏州、广州、北京和香港四个存储区域可供选择。(点击放大)

百度云存储 BOS 新建

如果你是用来存放私人数据的话,可以选择“私有”,用作网站静态文件外链的话可以选择“公共读”,相关的说明如下:

私有:只有用户本人可读写指定 Bucket 中的数据
公共读:任何用户均可读取 Bucket 中的数据,写操作需进行身份验证
公共读写:所有人均可读写 Bucket 内的 Object,无需身份验证。该权限安全风险极高,为确保您的数据安全,请谨慎选择
注:可在 Bucket 设置-权限设置里进行更灵活的权限管理,如防盗链等

1.2  百度 BOS 上传管理文件

百度 BOS 管理面板可以直接上传、删除存储文件。

百度云存储 BOS 上传文件

直接拖放文件到网页中即可,最大支持上传 5GB 的文件。

百度云存储 BOS 最大支持 5GB

百度云 BOS 还提供了一个 BOS 桌面客户端,你可以下载该软件。

百度云存储 BOS 桌面客户端

然后使用百度云的 API 登录到 BOS 桌面客户端。

百度云存储 BOS 使用 API 登录

这是百度 BOS 桌面客户端的界面,上传和管理文件都挺方便的,还可以同步文件。

百度云存储 BOS 本地管理文件

二、百度 BOS 自动镜像存储

这是百度 BOS 的管理操作界面,主要功能有权限设置、CORS 设置、监控信息、镜像回源、日志设置、生命周期、跨区域同步、服务端加密、静态网站托管。(点击放大)

百度云存储 BOS 控制面板

百度 BOS 还支持静态网站托管,如果你用的是静态博客的话,则可以将文件上传到百度 BOS 中直接被用户访问。

百度云存储 BOS 静态网站

想要使用百度云存储 BOS 自动镜像存储,我们需要在“镜像回源”中绑定一个网站。

百度云存储 BOS 镜像回源

现在使用百度 BOS 的域名访问请求原网站的文件,如果 BOS 中没有这个文件,那么会自动将源站的文件下载到 CDN 节点上,第二次访问的话直接访问到 CDN 节点上的文件了。

百度云存储 BOS 访问请求

我们也可以在 BOS 中看到自动镜像存储下来的文件。

百度云存储 BOS 自动镜像

三、Wordpress 无缝切换百度云 CDN

刚才我们已经为百度云 BOS 设置了自动镜像存储,现在我们只需要将网站的图片、JS、CSS 等静态文件的 URL 替换成 CDN 的 URL 就可以实现无缝切换到 CDN 了。

Wordpress 无缝切换百度云 CDN

如果你正在使用 WordPress 缓存类的插件,那么可以直接在缓存类插件中设置 CDN 加速,也可以使用一些单独的 CDN 加速插件来达到替换 URL 的目的,例如 CDN Enabler、BunnyCDN – WordPress CDN Plugin 等。

百度云 CDN 安装插件

更换 URL 后,我们就可以看到图片、JS、CSS 等静态文件已经全部切换到百度云 CDN 加速了。

百度云 CDN 自动显示图片

四、百度云 BOS 使用问题

4.1  设置自动清除缓存

百度云 BOS 中有新文件上传或者删除原有的文件如何做到自动更新 CDN 节点上的 URL?其实百度云 BOS 中已经提供了类似的设置,进入到“缓存配置管理”中就可以开启自动清除 CDN 缓存了。

百度云 CDN 自动清除缓存

4.2  百度云 BOS 防盗链

百度云 BOS 防盗链。进入到“Bucket 权限设置”,然后选择自定义权限。

百度云 CDN 自定义权限

选择添加用户权限,这里我们就可以使用“Referer”来控制访问,添加你允许访问的域名,例如 wzfou.com,google.com,baidu.com 等等。

百度云 CDN 添加允许的域名

五、百度云 CDN 使用问题

5.1  没有海外 CDN 节点

从测试结果来看,百度云 CDN 并没有提供海外加速的 CDN 节点,节点都是国内的,这一点不利于海外的朋友访问网站实现加速。

百度云 CDN 没有海外节点

5.2  百度云 CDN 防盗链

百度云 CDN 防盗链。进入到百度云 CDN 的域名管理面板,选择“访问控制”,这里就可以使用 IP 黑白名单或者 Referer 黑白名单来控制域名访问。

百度云 CDN 黑白名单

5.3  解决 CORS 访问问题

CORS 是一个 W3C 标准,全称是”跨域资源共享”(Cross-origin resource sharing)。它允许浏览器向跨源(协议 + 域名 + 端口)服务器,发出 XMLHttpRequest 请求,从而克服了 AJAX 只能同源使用的限制。

百度云 CDN 跨域访问

挖站否 wzfou.com 在使用百度云 CDN 的过程中就遇到了 引用 woff/ttf 等字体的 CORS 问题,报错如下:

Access to Font at ‘https://wzfou.cdn.bcebos.com/wp-content/plugins/anspress-question-answer/templates/css/fonts/anspress.woff?8lwej9’ from origin ‘https://wzfou.com’ has been blocked by CORS policy: ……. Origin ‘https://wzfou.com’ is therefore not allowed access.

如下图:

百度云 CDN 出现报错

解决的办法就是在百度云 CDN 中添加 CORS 跨域请求源,选择“高级设置”,然后“设置 HTTP 头”,主要是添加 Access-Control-Allow-Origin 和 Access-Control-Allow-Methods,如下图:

百度云 CDN 添加 Http 头

其它的 HTTP 头你可以根据自己的需要来添加,参数详细解释如下:

Cache-Control:指定浏览器请求和响应遵循的缓存机制

Expires:指定浏览器响应对象的过期时间

Content-Type:指定浏览器响应对象的内容类型

Content-Disposition:激活自定义资源下载设置,以及下载时默认文件名

Content-Language:指定资源在客户端(如浏览器)响应的语言

Access-Control-Allow-Origin:指定跨域请求时,允许访问资源的请求来源

Access-Control-Allow-Methods:指定跨域请求时,允许的跨域请求方法

Access-Control-Max-Age:指定跨域请求时,对特定资源的预请求返回结果的缓存时间

Access-Control-Expose-Headers:指定允许访问的自定义头信息

注意:选择“节点到端 response 生效”设置 HTTP 响应头,选择“节点到源站 request 生效”设置 HTTP 请求头。由于 HTTP 响应头配置是针对域名,因此一旦配置生效,用户对该域名下任意一个资源的响应消息中均会加入所配置头部。如下图:

百度云 CDN 响应头部

百度云 BOS 设置 CORS。如果你的网站是直接引用的百度云 BOS 的外链 URL,那么还需要到百度云 BOS 中配置 CORS 跨域访问问题。如下图:

百度 BOS 跨域访问问题

5.4  设置缓存过期时间

合理设置缓存过期时间有利于加快静态文件的访问速度,百度云 CDN 设置缓存过期时间有两种方式,一种是在“缓存配置”中可以对 HTTP Header 设置缓存控制头 Cache-control,支持文件后缀名、目录、状态码和精确文件的配置。

百度云 CDN 设置缓存过期

另一个则是在“配置 HTTP 头”直接配置 CDN 的 URL 的 Http 头,在这里可以直接设置 Cache-Control 和 Expires 控制头。

百度云 CDN 在 Http 中添加缓存

六、总结

用了一段时间后发现百度云存储 BOS 和百度云 CDN 相对于又拍云来说有价格优势,百度云存储的 BOS 存储费用非常低,如果存储量在 1GB 以下的话费用几乎可以忽略不计,一天差不多一毛钱不到。

百度云 CDN 价格便宜

另外,百度云 CDN 的流量带宽费用也比较便宜,现在 100GB 流量是 18 元,足够一个中型的网站来跑一个月了。

百度云 CDN 流量包

当然,就和我上次在百度云服务器 VPS 主机使用与性能简单评测中所吐槽的那样,百度这个公司的文化真的是“重技术轻服务”型的,百度云 CDN 和 BOS 产品做得不错,只可惜帮助文档真得不如“重运营”的阿里云的文档具备易操作性

喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址