使用 Cloudflare WARP 保护 Mastodon 源站
Cloudflare CDN 能保证实例免遭 DDoS 和 CC 攻击,但是基于 Mastodon 和 Fediverse 互联的特性,攻击者完全可以通过特定联合来锁定源站,这篇文章是为了记录让 Mastodon 实例和其他实例通信时通过 Cloudflare WARP 代理流量以防止源站泄露。
联合问题警告
Mastodon 和其他实例通信时走代理能很好的保护源站,但如果您的代理提供商所提供的 IP 不干净,可能会导致在与其他实例通信时被对方的 WAF 阻拦。
修改配置文件
修改 docker-compose.yml
在 services
项下添加以下内容:
1 |
|
理论上,这里可以换成任何一个代理,本文在此处使用了 canel 项目,这是已经打包好的 Cloudflare WARP 镜像。
修改环境变量
在 .env.production
文件添加以下内容:
1 |
|
这里的 no_proxy
需要换成你不需要走代理的地址,防止在启用代理后 无法连接至 Elasticsearch。
启用 Cloudflare WARP 代理
执行以下指令:
1 |
|
随后,Mastodon 的几乎所有网络操作都会通过代理进行。
额外的配置 License
Cloudflare WARP 可能存在流量上限,因此我建议额外配置这一步。
参考 canal 的 README,使用 WARP+ 需要以下额外步骤:
1 |
|
使用 Cloudflare WARP 保护 Mastodon 源站
https://blog.byteloid.one/2025/02/11/using-warp-to-protect-mastodon-origin-server/