亲爱的程星论坛用户:
今天是 2026 年 8 月 11 日,我们对程星论坛的访问架构做了一次重要调整——去除了原本位于 CDN 与 Halo 之间的那一层 Nginx 反向代理,改为 CDN 边缘节点直接回源到 Halo 内置的 Tomcat。
简单说:你到论坛之间的 "中转站" 少了一个,路更直了。
🎯 这次调整带来了什么
首字节时间(TTFB)更短:请求少经过一次代理转发,链路上的处理节点从 "客户端 → CDN → Nginx → Tomcat" 缩短为 "客户端 → CDN → Tomcat"
连接开销下降:少一层
proxy_pass,就少一组 upstream 连接池的维持成本,源站资源占用更直接排障更透明:出现问题时,响应头里的
Via、X-Cache等字段会更干净,便于我们快速定位
💡 体感上,首页加载、翻页、登录回调这些需要后端响应的操作会更 "跟手",尤其在国内近距离访问时差异更明显。
🔧 我们到底改了什么
此前的架构中,CDN 回源请求会先到达源站的一层 Nginx,再由 Nginx 转发给 Halo 的 Tomcat。这一层 Nginx 原本承担着连接收敛、缓冲、TLS 卸载等职责。
但需要说明的是:Nginx 反向代理本身是有价值的——它能做连接收敛(上千客户端连接复用到几十条长连接)、缓冲慢客户端、卸载 TLS 握手 CPU 开销。当我们评估发现,CDN 边缘节点已经承担了绝大部分连接收敛和 TLS 卸载的工作,源站这层 Nginx 更多是 "重复转发" 而非 "增值处理" 时,保留它就变成了纯粹的链路冗余。
因此本次调整的核心动作是:
CDN 回源协议确认:将回源协议配置正确(若开启 HTTPS 回源,Halo 内置 Tomcat 需正确配置 SSL 证书,避免 CDN 到源站之间出现明文传输)
Tomcat 直收回源请求:Halo 的 Tomcat 直接监听回源端口,接收来自 CDN 节点的请求
CDN 缓存策略对齐 Halo:参照 Halo 官方建议,确保回源时全程携带请求参数、缓存 Key 保留全部查询字符串——这是 Halo 接 CDN 最容易踩的坑,参数丢失会导致控制台筛选 / 分页失效、插件静态资源加载异常
源站防火墙收口:仅允许 CDN 节点 IP 访问 Tomcat 回源端口,避免源站 IP 暴露后被绕过 CDN 直连
⚠️ 我们做了哪些防护兜底
去掉一层 Nginx,意味着原本由它承担的限流、防 CC、静态资源缓存等能力需要重新确认归属。我们已确保:
限流与防护由 CDN 边缘节点承担,单 IP 连接数、请求频率限制在 CDN 侧生效
HTTPS 回源:已开启 CDN 到 Tomcat 的 HTTPS 回源,端到端加密不降级
缓存命中保障:静态资源配置了长缓存策略,动态请求走 CDN 动态加速优化链路
监控指标:已建立对缓存命中率、回源成功率、TTFB 的实时监控,回源成功率目标保持在 99.5% 以上
📈 后续我们还会做什么
这次架构简化只是开始,接下来程星论坛会持续推进:
监控回源性能:密切关注回源链路的 RTT 与成功率,必要时启用 CDN 的 Origin Shield 或区域二级缓存
静态资源进一步优化:评估图片、附件等资源接入对象存储 + CDN 独立加速域名的方案,进一步降低 Tomcat 压力
持续观测 TTFB:在不同地理区域采样首字节时间,确保近距离与远距离用户都能感受到提速
🙏 写在最后
程星论坛一路走来,离不开每一位用户的包容与反馈。这次 "减一层 Nginx" 看似是个微小的架构调整,背后是我们对 "让用户访问更快一点" 的持续追求。
如果你在访问中遇到任何异常——无论是加载变慢、某个页面报错、还是登录态异常——都欢迎在论坛反馈区告诉我们,或者发送邮件至站务邮箱。我们会第一时间跟进。
感谢你的陪伴,程星论坛因你而闪耀 ✨
—— 上官程曦社团
2026 年 8 月 11 日