目前博客的 CDN 解决方案

之前更过一篇 WordPress 配置CDN的文章 《WordPress 配置CDN,免对象存储,加速域名首页自定义》,感觉这个方案太水了,而且后面也遇到了各种各样的问题,然后重新设计了 CDN 方案,整体来说还算是满意,今天分享出来跟大家聊聊,我会详细说一说具体的配置,以及这么做的原因和弊端。


方案导图

话不多说,直接上图

通过 DNS 进行境内境外分流

国内用户

动态资源 - 百度云加速

原因

选择百度云减速(bushi 云加速得原因很简单——收录。

绝大多数建站的站长肯定是希望盈利的,但至少是希望尽可能的去抹平每年域名、服务器、CDN的费用。可能是出于兴趣建站,毕竟谁不希望少花点钱呢?为了均衡成本,是需要通过流量来变现,而被搜索引擎收录所带来的流量一直是很可观的,事实上很多站点也是这么做的。

中文互联网内主流的搜索引擎也就是三家:百度、Google、Bing。

Google虽然情况特殊,国内用户无法访问,但是因为对百度、Bing 特供版的不满。很多人将其当作首选的搜索引擎,收录速度虽然很快,但是 关键词排名难做,特殊原因导致中文用户基数少是其主要的问题,所以所获的流量不是很多。

Bing的情况有些特殊,虽然国内可以直接访问,而且没有像百度这样充斥着广告,国内用户虽然也有存量,但由于多年被国内互联网环境培养的用户习惯导致,Bing的用户基数很小,虽然收录很快但是站长能从中获取的流量也并不是很多。

百度,虽然百度充斥着恶臭以及各种各样的问题,但其还是作为中文互联网的搜索引擎的 No.1。由于某些特殊原因,百度的SEO优化甚至演变成为了一门十分值得研究的学问,一个新的网站如果想被百度快速大量的收录,其中所需要的条件多种多样,很多高阶条件是新人站长无法满足的,此处不再详细赘述。对于无法满足的这些条件的站长,百度还是提供了一条明路——百度云加速,这也是我选择它的原因。

缺点

百度云加速的缺点很明显,,名为加速,实则减速。现在的免费版仅仅提供可怜的三个节点(但经过我实测只有两个)它的商业模式采用的套餐制度,如果你想拥有多节点的话,加钱,最便宜的一年四位数的那种。当然不可能花钱的,所以国内的静态资源没有托管到百度,而是使用的 腾讯云的 CDN。

配置

百度云加速的配置极其简单,甚至属于对接上就行的辣种。

打开面板打开 流量功能->引擎加速收录 里的 新站百度报到

以及在 同在 流量功能 中的 永久在线

在 其他 -> 特定页面规则 中添加规则,如下所示(此处仅以WordPress为例,其他不同程序配置不同,其中规则优先级1>2):

规则1
URL:       domain/wp-admin/*
规则配置: 缓存粒度设置 -> 不缓存
规则2
URL:        domain/*
规则配置1: 缓存粒度设置 -> 细致
规则配置2:浏览器缓存有效期 -> 1天
规则1
规则2

至此配置完成。

静态资源 - 腾讯云 CDN

原因

稀里糊涂的选择了腾讯云 CDN,主要是可是白嫖,可能感觉服务器也是腾讯云的可能有特殊加成(?)不太记得了,但是使用了之后的体验还是非常不错的,比我用过的 UPYUN 还有 百度云加速 感觉好。

缺点

目前使用起来没感受到啥明显缺点,但是可能以后会感受到,毕竟不是一直可以白嫖的,未来的缺点就是贵。不对,这是我的缺点

配置

分享一个我使用回源策略,回源 HOST 填写 加速域名,然后在这个域名对应的站点目录中创建 软连接软件,然后将 WordPress 站点目录链接至 CDN 加速域名的站点目录,如下图所示:

完成初步配置后(指接入CDN),因为公开的加速服务不理想,所以我直接通过国内的服务器进行了反代,然后设置缓存,然后通过腾讯云CDN缓存起来,网站速度提升了一大截。

但由于此服务仅是供自己使用的,所以需要打开防盗链

进入CDN域名管理页面->访问控制,第一个既是防盗链,输入需要访问资源的域名即可。其余配置如下图:

进入缓存配置->缓存键规则配置,设置为全部文件,不忽略参数,不忽略大小写

缓存配置->节点缓存过期配置,新建规则如下:

类型:文件后缀
内容:jpg;png;js;css;ico;woff2;woff;tff	
缓存行为:缓存七天,强制缓存

回源配置 -> 回源跟随301/302配置 打开

HTTPS配置 -> 强制跳转 打开

高级配置 -> HTTP响应头配置 (此项配置是为了防止出现 CORS 错误

头部参数:Access-Control-Allow-Origin
头部取值:你需要引用静态域名的域名,如图示例。

打开 高级配置 -> 智能压缩,如下图所示:

至此,CDN配置完毕,但是 WordPress 需要将静态资源地址替换为加速地址

此处以 WPJAM BASIC 插件为例(强推),选择云存储 腾讯云COS,然后输入加速的 CDN 域名。

保存即可,此操作可替换绝大多数静态资源链接,也可以通过反代配置自己的 Google字体加速、Gravatar加速。

国外用户

动态+静态资源 - CLOUDFALRE

原因

免费还是很香的,而且提供免费的防御,国外 CloudFlare 的速度还是非常快的。主要还是能白嫖。

缺点

无。。。。。。。可能对国内速度不佳?

配置

CloudFlare 的配置堪称傻瓜式的,也是通过 峰峰 的教导,才正确的打开了 CloudFlare 的配置方式

本站采用的是 CNAME接入,详细的接入教程参考本站文章 《CLOUDFLARE 免费官方 CNAME 接入

目前我的配置方法就是在 规则 -> 页面规则 中添加一条页面规则,具体配置如下:

URL: domain/*
设置1:缓存级别 -> 缓存全部内容
设置2:边缘缓存TTL -> 1个月

为什么不设置 /wp-admin/* 为不缓存。因为免费规则只有三条,超出就要收费,另外在国内不需要访问海外线路的 /wp-admin/

选择 速度 -> 优化 Auto Minify,三个选项全选

启用 Brotli

至此 CDN 优化方案完成,此方案还是存在很多暂时没有发现的问题,可能会有更好的方案。能力至此,希望各位斧正。

此方案也是目前博客所使用的方案。


《目前博客的 CDN 解决方案》