之前更过一篇 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