00:00:迁 Discourse 到新服务器,ping 400ms,点一下像寄国际挂号。这线路 从上海走到孟买 又游到法兰克福 好歹最后到了曼谷
00:30:uploads 上 R2。R2 叫 R2,但我全程写 DISCOURSE_S3_* 因为 S3 是协议,不是公司。
00:50:图片不显示,浏览器回我 XML:Authorization。我才意识到我把 API endpoint 当公共链接用了 保安亭不发门票啊
01:10:桶绑 uploads.d3v.de5.net + public read,图片恢复,人类获得短暂幸福。
01:40:贪心发作,把 /assets 也推 R2:
after_assets_precompile:
- rake s3:upload_assets
02:00:Cloudflare 新 UI 没有 “Cache Everything”,只有一堆 TTL,像凌晨填税表。
02:30:只缓存 uploads 子域,Edge TTL 拉满,Browser TTL 保守,主站不动(我还想正常登录)。
03:xx:前端转圈,控制台:require/I18n is not defined。翻译一下:核心 JS 没加载成功。去 Network 查真相:403/404/HTML 冒充 JS。
04:xx:YAML 缩进开庭审判。顺便提醒:贴过的 key 立刻 rotate,别赌运气。
05:00:ping 仍 400ms,但第二次访问秒开 CDN 没缩短距离,只把副本搬到了你旁边。
缓存命中那一刻,我的眼泪和 JS 一起开始执行。
当然 耗时这么久原因有二
一是cf的mcp不成熟 不然说完诉求我就滚去睡觉了
二是discourse该点啥都得疯狂重建 拉 编 等 一套下来半小时过去了 功能太多 难以优化,,,,
