前言

最近,我刚掌握了一项实用的技术:健康监测和自动下线 DNS 解析。简单来说,当我的源站检测到国内用作 CDN 节点的服务器不可用时,会自动通过 DNSPod 下线对应的解析记录。这样,DNSPod 的两条默认线路中,我配置的 CDN 节点将被移除,仅保留 Cloudflare 的线路。只要源站没有被攻击瘫痪,Cloudflare 就能接管解析,承受住所有流量冲击。此外,我在 Cloudflare 中还配置了相关的防火墙规则,用于拦截恶意流量。这种配置目前来看非常可靠,毕竟很难有人愿意投入大量资源去攻击像我这样的小型非盈利网站。

至于为什么要花时间研究这些技术,源于之前的教训。当时我什么都不懂,连基础的防火墙规则都不会配置,网站因此多次受到攻击,导致严重损失(精神上的)。这种经历让我形成了“防患于未然”的思维习惯,尽可能在技术上做到滴水不漏。虽然有些措施可能显得多余,但我愿意分享自己在实践中遇到的问题及解决方法,帮助更多人规避类似风险。需要说明的是,我的经验和做法不一定完全正确,仍然欢迎懂行的朋友提出建议。只要经过验证后发现的确更优,我会欣然接受并改进。

以下是我的实践经验,希望对大家有所帮助。

页面规则的错误设置

在初始阶段,我尝试了错误的页面规则配置,导致缓存行为混乱甚至引发了多个网站问题。以下截图是错误设置的示例:

页面规则错误示例

缓存规则设置

经过多次调整,我找到了一套较为稳定的缓存规则:

示例一:

缓存规则示例一

示例二:

缓存规则示例二

示例三:

缓存规则示例三

注意:截图中的某些参数(例如是否启用特定功能)我也不完全了解具体含义,因此全部保持关闭状态。配置完成后,通过访问网站并查看缓存标头确认效果。

总结

在 Cloudflare 上优化缓存和提升速度的过程中,我花费了大量时间研究和实践。最初因为错误的缓存应用,导致网站频繁出现各种问题,但通过多次调整和试验,我总结出以下规律:

  1. 打开自己的网站,按 F12 进入开发者模式,分析加载资源的时间。
  2. 找出加载速度慢但长期不会变动的资源,针对这些资源单独设置缓存规则。
  3. 或者单独缓存特定后缀名的文件(如 .jpg.css.js 等),确保高频静态资源得到充分优化。
  4. 配置时一定要仔细测试缓存标头,确保规则没有对动态内容造成影响。

正确的缓存配置不仅能有效提升网站速度,还能显著降低服务器负载。实践证明,针对特定路径或资源类型的精准缓存,是目前问题最少、效果最显著的方法。

希望我的经验能对正在优化网站的朋友有所启发。

最后修改:2024 年 11 月 27 日
如果觉得我的文章对你有用,请随意赞赏