# 在 Discourse 中使用 Cloudflare 的最佳实践

**URL:** https://meta.discourse.org/t/using-discourse-with-cloudflare-best-practices/293405
**Category:** Self-Hosting
**Tags:** how-to, cloudflare
**Created:** [2024年一月30日 02:56 UTC](https://meta.discourse.org/t/using-discourse-with-cloudflare-best-practices/293405 "2024-01-30T02:56:10Z")
**Posts on this page:** 1
**Showing post:** 28

<div class="post-metadata">

### Author: ![Lee\_Ars](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lee_ars/32/1597_2.png) [@Lee\_Ars](https://meta.discourse.org/u/Lee_Ars)
#### Post date: [2026年三月16日 12:48 UTC](https://meta.discourse.org/t/using-discourse-with-cloudflare-best-practices/293405/28 "2026-03-16T12:48:08Z")

</div>

自 2025 年夏季以来，我一直在 Discourse 论坛前使用 Cloudflare 的代理模式，一直没有遇到任何问题；如今，要使其正常工作，您真正需要针对 Discourse 进行的操作并不多。

最关键的项目之一是确保在 `app.yml` 文件中包含 `cloudflare` 模板。如果没有此设置，您的 Discourse 仪表板中只会看到 Cloudflare 服务器的 IP 地址，而不是实际访问者的 IP 地址。

“绕过对 /session/\* 的缓存”规则似乎仍然是必需的（在新界面中将其作为缓存规则执行），而“在发帖/编辑时跳过 WAF”规则绝对是必需的（我将其设置为托管规则）。

由于我主要将 Discourse 用作 WordPress 网站的评论系统，我让 WordPress 对 `/wp-json/wp-discourse/v1/discourse-comments?post_id=xxxx` ajax 响应添加 60 秒的 TTL（当访问者请求特定 WP 帖子的评论线程时，网络服务器会发出这些响应）；这有助于管理突发的访问者模式。我添加了一个 CF 缓存规则，该规则会尊重包含 `/wp-json/wp-discourse/.` 的 URI 的 TTL（没有企业帐户，我无法在 Cloudflare 上为这些 URL 设置足够短的 TTL，因此我通过 mu-plugin 在应用程序层设置 TTL，然后告诉 CF 通过 CF 缓存规则来遵守该 TTL。）

除此之外，以及帖子开头提到的基本设置，真的没有太多事情要做——Cloudflare 与 Discourse 的配合得非常好。

---

_[View the full topic](https://meta.discourse.org/t/using-discourse-with-cloudflare-best-practices/293405)._
