cloudflare cdn
1. cloudflare dns proxy 开启以后就是走 CDN ,别人 ping 我域名的时候 ping 不到真正解析的 IP ,关了就是直接常规解析?
2.配置页面规则:https://www.zhudc.com/free-cdn/767/
其他状态解释如下:
cf-cache-status:DYNAMIC (动态) 如果是“DYNAMIC”则说明,该站可能只开启了小云朵,并没有配置整站完全缓存。 cf-cache-status:BYPASS (绕过) 如果是“BYPASS”则说明,该站针对这个页面设置了绕过,不允许缓存
3.cloudflare 证书问题
始终使用 HTTPS
将所有使用方案 “http” 的请求重定向到 “https”。这将应用于该区域的所有 http 请求。
转成https后,用的是cloudflare的证书,如果关闭掉dns,就无法使用证书,网站用https打不开。dns与https同在
大部分常见的图片、文件、字型文件都预设会缓存起来。值得注意的是,免费版的 CloudFlare 方案并不缓存超过 512 MB 的文件。(512 MB 其实超级大了,佛心公司;升级成付费版则可以缓存高达 5 GB 的文件)
另外,如果要判断你的文件有没有被 CloudFlare 缓存,可以使用 DevTools 来检查表头,其中有一个叫做 CF-Cache-Status 的 header,如果显示 HIT 就是有被缓存;显示 MISS 或 EXPIRED 就是缓存失败,可能有其他原因。
压缩你的 Code,减少文件大小
CloudFlare 也可以帮你 Minify 你的程序码。透过把你程序码中的多余空白、换行符号都删除掉以后,你的文件大小会减少(虽然一个文件减少可能不多,多个文件都减少一点就会很可观),藉此提高网络传输速度、降低读取时间。
可以在 CloudFlare 后台的 Speed→Optimization,把 Auto Minify 的 JavaScript、CSS、HTML 都打勾,就会帮你压缩这些东西了。
另外在一样的地方下面也有个 Brotli 选项,建议也把它打开。Minify 只是把多余空白和换行符号删掉而已,Brotli 则是使用特别的压缩演算法来将文件进行压缩,就像文件太大要传给朋友也会先压缩过再传比较快一样。
你可能听过 Gzip 压缩,Brotli 压缩(有时称为 br 压缩)则是比 Gzip 压缩比更高的新演算法
使用 Rocket Loader
一样在 Speed→Optimization 中,下方还有一个 Rocket Loader。Rocket Loader 可以延迟载入你的 JavaScript 脚本,让浏览器优先处理你的文字、CSS 等跟「渲染(Render)」比较有关係的程序码,理论上能够加快使用者体验、降低首次渲染时间,提高 SEO。
除此之外,Rocket Loader 其实还会试图将 JavaScript 缓存在装置的 Local Storage 中,能更有效减少网络传递
设置缓存程度和浏览器表头
在 Caching 页面中,你则可以设置 Caching Level 和 Browser Cache Expiration。
Caching Level 是指你要怎么处理浏览器带的 query string,遇到 query string 时要不要把它视为同样的文件,有三个选项:
- No query string:只缓存没带有 query string 的文件。换句话说
https://example.com/kangaroo.png
会被缓存,但https://example.com/kangaroo.png?foo=bar
则不会被缓存。 - Ignore Query String:只看网址和档名,忽略 query string。不管后面有带 query string、query string 不一样,通通视为同一个文件缓存起来。
- Standard:不同 query string 就视为不同的文件。
而什么叫视为不同文件呢?比方说今天存取 kangaroo.png
时已经被缓存起来了,但某位使用者存取到 kangaroo.png?fbclid=239jf489ja
时则会被视为另外一个文件,CloudFlare 会认为没有缓存过这个文件,再跑去你的主机要一次才又缓存起来。这边可能要想一下你的网站有没有跟 query string 有关的设置,如果不清楚的话,建议通通设置为 Standard。
另外这边也可以设置 Browser Cache Expiration。除了 CloudFlare 会缓存以外,浏览器本身也是会进行缓存的,这对重複浏览你网站的使用者来说很有帮助。
一般来说浏览器会到主机尝试拿新的文件,但如果你的浏览器已经对这张图片、这个 JS 文件、或这个 HTML 文件等等缓存处理过,它就会显示为 HTTP 304 Not Modified,优先使用电脑本机缓存的文件,不用耗费流量、也降低读取时间。这个设置则是建议浏览器,每个静态文件要缓存多久。
你也可以用 DevTools 观察修改这个参数后,Response header 会有什么不一样。后面会再花时间讨论这个设置
清除错误或过期的缓存
最后,由于你刚刚设置了那些缓存,缓存可能不会马上生效。例如原本你并没有设置 Auto Minify,所以 CloudFlare 把你的 HTML 缓存起来都是没 Minified 的版本,你可以在这里选择 Purge Everything,强制清除所有已经缓存过的资料,这样就能让这些设置马上生效。
但是一次清掉所有缓存可能会造成你的主机产生大量流量,所以你可能想要只清除某些特定文件的缓存(例如你某个 CSS 进行修改,想要马上生效,不想要等一个月的缓存时间结束),你就可以选择 Custom Perge,并输入那个文件的 URL,只删除该文件的缓存。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?