国内网站使用Cloudflare CDN的速度优化方案

温馨提示:注册会员付费购买资源可永久免费下载更新版本

在大家开始阅读这篇文章之前,边肖先陈述一下自己的观点:在不必要的情况下,国内站点尽量不使用Cloudflare的CDN服务。除非你的WordPress网站使用的服务器不在国内,国内有很多CDN服务可以满足你的网站加速需求,比如阿里云、腾讯云、七牛云、UPYUN等服务商提供的CDN。

但是,如果您必须使用Cloudflare的CDN,请查看sleele的这篇教程。思路清晰易懂。尽情享受吧!

最近又开始优化博客的访问速度。在上次优化的基础上,我又改进了一次。这次用的是之前放弃的cloudflare cdn加速方案,现在有了新的思路和新的工具。

Cloudflare的cdn节点都在海外,国内的访问速度其实并不理想。如果你的vps线路质量不错,使用cloudflare cdn实际上会变慢。这是我之前的想法,但是自从cloudflare推出了cloudflare合作伙伴计划,你就可以通过合作伙伴免费使用cname解析,所以你可以用一些花哨的招数来实现定制cdn节点。

dns解析

本来想按照逻辑顺序写,但是考虑到实际操作是按照工具的顺序进行的,还是从dns解析开始吧!

以前想用cloudflare的免费cdn,就得用cloudflare的dns解析。现在,通过合作伙伴计划,我们可以免费使用cname resolution。这次我们选择的是dnspod提供的dns解析,它也提供D监控服务。d监控可以监控网站线路,根据网络情况自动切换节点。

先说什么是D监控。

什么是D监控?
D监控是指:当你的一台服务器宕机时,系统会自动将你切换到可用的服务器,宕机的服务器恢复后会自动切换回原来的ip(注意:D监控默认不开启,需要手动开启D监控)
检测原理:所有监控点都会向目标服务器发起一次,(此处需要注意的是,错误返回如403仅提示警告,无ip切换,错误返回500以上提示停机切换)

要使用dnspod dns解析,必须先注册dnspod,并将域名挂在上面。我相信任何有能力建网站的人都可以运营,就不赘述了。

域名在dnspod dns解析后,暂时不要设置D监控。现在你可以去cname了。

cloudflare合作伙伴

首先注册您的cloudflare帐户(http://cloudflare.com/),然后登录cloudflare partner。

我使用的是https://cdn.bnxb.com/,奔牛网提供的cloudflare合作伙伴服务

登录牛奔的cloudflare合作伙伴服务。然后选择添加域名以通过cname访问它。

BNXB管理背景

提交后会给出cname地址,cname地址会填入dnspod的dns解析中。

CNAME背景源设置

过一段时间就会生效。ping网站以查看您是否已转到cloudflare cdn。如果此时你已经上了cloudflare cdn,ping网站时会出现cname地址。

精彩来了。

cname接入cloudflare cdn最大的好处就是可以自定义cdn节点,这样就可以选择国内最快的接入cloudflare cdn节点,从而加速接入,并且在D监控的加持下,防止网站因线路中断。

目前很多cloudflare提供的免费节点都烂了,需要自己测试。

在这里,我分享一些互联网上提供的ip段。选择ip段后,修改ip地址,填入dnspod中,如172.64.32.56,根据运营商填写。每个操作员填写两个节点,默认为海外:

172.64.32.1/24 (推荐移动,走香港)104.28.14.0/24 (推荐移动,走新加坡)104.23.240.0-104.23.243.254 (推荐联通、移动,线路未知)108.162.236.1/24 (推荐联通,走美国)104.20.157.0/24 (推荐联通,走日本)104.16.160.1/24 (推荐电信,走洛杉矶)172.64.0.0/24 (推荐电信,走旧金山)172.64.32.* (走欧洲) 108.162.236.1/24 联通 走美国172.64.32.1/24 移动 走香港104.16.160.1/24 电信 走美国洛杉矶172.64.0.0/24 电信 美国旧金山104.20.157.0/24 联通 走日本104.28.14.0/24 移动 走新加坡 104.18.62.1/24 香港hkix.net104.16.35.1/24 香港hkix.net104.16.36.1/24 香港hkix.net104.18.35.1/24 香港hkix.net104.18.36.1/24 香港hkix.net104.16.54.1/24 香港104.16.55.1/24 香港104.18.128.1/24 香港104.18.129.1/24 香港104.18.130.1/24 香港104.18.131.1/24 香港104.18.132.1/24 香港104.19.195.1/24 香港104.19.196.1/24 香港104.19.197.1/24 香港104.19.198.1/24 香港104.19.199.1/24 香港#适合电信的节点104.23.240.*#走欧洲各国出口 英国德国荷兰等 延迟比美国高一些 适合源站在欧洲的网站172.64.32.*#虽然去程走新加坡,但是回程线路的绕路的,实际效果不好,不推荐104.16.160.*#圣何塞的线路,比洛杉矶要快一点,推荐108.162.236.*#亚特兰大线路,延迟稳定,但是延迟较高#适合移动的节点162.158.133.* #走的丹麦,这一段ip只有部分能用,可以自己试一下,绕美国198.41.214.*198.41.212.*198.41.208.*198.41.209.*172.64.32.*141.101.115.*#移动走香港的IP段有很多,以上并不是全部。CF移动走香港的分直连和走ntt的效果都挺不错的,不过部分地区晚上还是会丢包。172.64.0. *#这是走圣何塞的,一般用香港的就行172.64.16.* #欧洲线路.绕#1.0.0.1效果较好电信部分大多数省直接使用1.0.0.0即可,延迟低,丢包少,# 移动部分#新加坡104.18.48.0-104.18.63.255104.24.112.0-104.24.127.255104.27.128.0-104.27.143.255104.28.0.0-104.28.15.255# 移动部分#圣何塞 104.28.16.0-31.255104.27.144.0-243.254104.23.240.0-243.254#香港cloudflare1-100g.hkix.net1.0.0.0-2541.1.1.0-254#香港直连104.16.0.0-79.255104.16.96.0-175.254104.16.192.0-207.255

还有奇招。

如果不想测试这么多节点,或者担心节点会死,可以将除默认值以外的所有记录值都写成1.0.0.1。cloudflare会自己判断,解析后所有dns记录都会转移到1.0.0.1,看起来很美:

域名DNS管理

开放式监控

单击下图中标记的图标,检查所有节点;

D监视设置

检查节点情况。目前,自由节点的延迟有高有低。只要操作员线对应的节点不是红色的,就没事。

DNSPod域名监控

之后如果对节点不满意,只需在dnspod中更换节点即可,见效快,并且可以在D监控中及时查看新节点的情况。

cloudflare页面规则

Cloudflare默认不缓存html文件,所以为了将尽可能多的数据放入cloudflare节点,我们需要设置缓存内容。

这是cloudflare官方页面规则的解释。建议你看看。懒得看也没关系。您可以遵循我的设置:

页面规则设置

立正!有顺序。

sleele.com/wp-admin* sleele.com/*preview=true* sleele.com/*

Cloudflare缓存需要时间,所以最好把Edge缓存的TTL设置的长一点,不然还没缓存到cdn就过期了。在我设置7天之后,背景和预览文章将不会被缓存。

这里再插一句,因为免费账号只有3条规则,对于WordPress来说还不够。为了保存规则,需要修改WordPress登录地址,改为WP-admin xxxx;;

安装重命名wp-login.php插件,并将登录地址改为wp-adminxxxx。

WordPress后台登录地址

测试缓存是否成功。

这个可能需要一段时间才能看到效果,但是你去不去cdn节点到时候就能看出来。

关闭代理软件,打开Chrome开发者模式,网络选项卡,禁用缓存禁用浏览器缓存,选择自己的网站URL和Headers选项卡,检查远程地址是否是之前在dns解析中设置的地址。

缓存命中检查

Cf-cache-status:命中就是命中缓存。检查计时标签和TTFB时间。时间越短越好。

TTFB信息查看

CDN后来宾IP地址不正确的解决方案

使用cloudflare cdn后,访客ip和留言ip都会变成cloudflare cdn的ip,解决方案也很简单。cloudflare官方给出了解决方案。

Cloudflare在X-Forwarded-For标头和CF-Connecting-IP标头中包含访问者的IP地址。

修改Nginx配置文件,在http内容中添加以下内容,添加cloudflare的ip段:

location / { set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; set_real_ip_from 104.16.0.0/12; set_real_ip_from 108.162.192.0/18; set_real_ip_from 131.0.72.0/22; set_real_ip_from 141.101.64.0/18; set_real_ip_from 162.158.0.0/15; set_real_ip_from 172.64.0.0/13; set_real_ip_from 173.245.48.0/20; set_real_ip_from 188.114.96.0/20; set_real_ip_from 190.93.240.0/20; set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 199.27.128.0/21; set_real_ip_from 2400:cb00::/32; set_real_ip_from 2606:4700::/32; set_real_ip_from 2803:f800::/32; set_real_ip_from 2405:b500::/32; set_real_ip_from 2405:8100::/32; set_real_ip_from 2c0f:f248::/32; set_real_ip_from 2a06:98c0::/29; # use any of the following two real_ip_header CF-Connecting-IP; #real_ip_header X-Forwarded-For; }# 加载配置nginx -s reload

WordPress再次加速

WordPress是网页的动态生成。为了进一步提高加载速度,可以使用WP超级缓存生成静态页面。同时,gzip压缩选项被打开。Cache Everything可以将gzip的压缩html缓存到cdn中,提高加载速度。另一个自动优化插件也提供了优秀的WordPress优化支持。

WP超级缓存页面压缩开启。

WP超级缓存压缩是否有效

另外,建议安装官方插件cloudflare。

可以手动和自动清除缓存,查看数据分析,非常有用。

cloudflare插件安装

转速试验

首先,这些速度测试的分数只能作为参考,实际意义不大,尤其是谷歌测试。

Boce国家速度测试

boce网站速度测试

谷歌页面速度洞察

谷歌页面速度洞察

Pingdom网站速度测试

Pingdom

网站测速,可以看一个网站测速性能测试的简单教程【附15个常用网站测速工具】和两篇Google PageSpeed Insights测试如何做到满分/100分的文章!

标签

这就是目前免费的cloudflare cdn加速手段。我在页面规则中禁用了性能优化,所以不建议打开。还有一个付费的据说可以大大提速。我没用过。经过以上优化,大多数人应该可以在3秒钟内打开我的https://sleele.com/网站。

Railgun是Cloudflare为商业和企业客户提供的终极加速解决方案。要使用它,首先需要将网站包升级到Business或Enterprise,然后需要在服务器上安装必要的软件,并在Cloudflare上完成配置。这相当于一个双边加速软件,其实现原理是让服务器与Cloudflare建立长期的TCP加密连接,使用Railgun独有的协议代替HTTP协议,可以明显降低连接延迟。此外,它缓存动态页面:考虑到大多数动态页面包含大量相同的HTML信息,当用户请求新页面时,服务器只会发送那些更改的内容。这相当于多重Gzip压缩。

文章转自sleele的博客,略有改动。参考文章列表:

利用CloudFlare CDN加速张戈博客的经验和技巧分享

CDN启用后,网站获取用户真实IP:cloud flare CDN真实IP地址(Nginx,Apache)

CloudFlare免费CDN加速定制节点-CloudFlare可选IP加速CDN速度

声明:

1,本站分享的资源来源于用户上传或网络分享,如有侵权请联系站长。

2,本站软件分享目的仅供大家学习和交流,请不要用于商业用途,下载后请于24小时后删除。

3,如果你也有好的建站资源,可以投稿到本站。

4,本站提供的所有资源不包含技术服务请大家谅解!

5,如有链接无法下载,请联系站长!

6,特别声明:仅供参考学习,不提供技术支持,建议购买正版!如果发布资源侵犯了您的利益请留言告知!


创网站长资源网 » 国内网站使用Cloudflare CDN的速度优化方案

发表回复