在 Rails 中,cloudflare 会缓存隐藏在我的 sign_in 进程后面的文件吗?

Will cloudflare cache files that are hidden behind my sign_in process in Rails?

我基于 Hartl 课程构建了一个应用程序,其中用户 sign_in 并退出了该应用程序。除非定义了 current_user,否则会话控制器会将任何页面请求发送到登录页面并要求该人 sign_in。

我现在添加了 Cloudflare 作为服务静态资产和提供 SSL 解决方案的便捷方式,同时我对我的应用程序进行 Beta 测试,但我想知道它是否在 sign_in 进程后面缓存任何内容?即,如果我现在访问我的网站并 sign_in,然后查看对所有其他访问者隐藏的页面(因为他们不知道我的 username/password),这是 Cloudflare 缓存的 html也是吗?

如果是,我该如何阻止 Cloudflare 这样做?

默认情况下 Cloudflare(准确的说是 Cloudflare 的 CDN)不缓存 HTML 页面,只缓存 CSS 和 JS。实际上,你不能在 CDN 上缓存动态 HTML 页面,因为一个 URL 可以 return 不同的 HTML 页面,并且在缓存动态 HTML 之后你'最终会出现一个用户收到另一个用户的配置文件的情况。

但是您可以使用 Cloudflare 的页面规则功能启用静态 HTML 页面的缓存。