对现有用户重要:新的 R2 函数和对新设置的控制需要对您使用的 API 令牌具有一些新权限。您可以转到您的 Cloudflare API 令牌,编辑您拥有的令牌并添加以下权限:
Account.Account Analytics: Read
Account.Workers R2 Storage: Edit
Zone.Bot Management: Edit
Zone.Cache Rules: Edit
此时,您的 API 令牌总共应具有 14 个权限。如果您没有 14 个,您可以在 XF 管理员 -> 选项 -> 外部服务提供商 -> Cloudflare 身份验证
下检查您应该拥有的内容 常规
- 修复了与旧版 PHP 的兼容性问题。
- 需要 PHP 7.0 或更高版本(只是太烦人/难以在旧版本的 XenForo 上保持与非常旧版本的 PHP 的向后兼容性)。
- 新的 Cloudflare 设置:网络错误日志记录
- 机器人战斗模式、自动签名交换 (SXG) 和 AMP 真实网址设置现在可以与 API 令牌一起使用(之前您必须使用全局 API 密钥来访问这些设置)。
- 添加了有关更改工作线程子域的说明。
- 国家/地区阻止的新选项允许阻止应用于整个站点或仅注册。
- 使 XenForo 的 FsMount 类可以基于每个适配器禁用断言(使文件系统更快并将 R2 API 调用减少一半,因为我们不需要在尝试获取对象之前显式检查对象是否存在)。
- 更改后的措辞反映了Cloudflare将"防火墙过滤器规则"更改为简单的"防火墙规则"。
- 返回服务器错误代码 (5xx) 的 Cloudflare API 调用将在放弃之前透明地重试一次。
R2(对象存储)
- R2 支持(耶!
- R2 需要使用 API 令牌(不能使用全局 API 密钥,无法解决这个问题)。
- 内部缓存 Cloudflare 账户 ID,因此我们不需要进行 API 调用来一遍又一遍地获取它(账户 ID 通常永远不会更改)。
- 内部缓存 API 令牌 ID(R2 使用需要)。
- 新的 CLI 命令用于在两个不同的抽象文件系统之间迁移数据: php cmd.php dp:migrate-data [--new-to-old] [--processes=PROCESSES] [--start-at-path=START-AT-PATH] [--location=LOCATION] [--path=PATH]
- 可以看到整个 Cloudflare 帐户的 R2 存储/使用情况(在 R2 管理区域的页脚中)。
- 可以查看最近的 R2 日志(适用于单个存储桶以及 Cloudflare 账户级别)。
什么是 R2?R2 是一个云对象存储系统。此附加组件允许您将头像和附件等内容存储在云中而不是服务器中。使用 R2 的成本非常合理...前 10GB 的存储空间是免费的,10GB 之后的每个 GB 每月 0.015 美元。例如,如果您有 100GB 的附件和头像要存储在 R2 中,则费用为每月 1.35 USD。
我已经构建了一个CLI工具来将数据从一个文件系统迁移到另一个文件系统(例如,您可以使用它从本地存储到R2),但是它需要在XenForo和Flysystem的限制下工作。这意味着,如果您需要移动超过几GB的文件,最好使用像
rclone这样的免费实用程序来做到这一点。