我正在设计一个旨在供单页应用程序和 native 移动应用程序使用的 RESTful API。此 API 的某些调用会返回可以缓存一段时间的公共(public)结果。此外,需要速率保护来保护 API 免受未经授权的用户(蜘蛛)的攻击
我可以使用 Cloudflare 为我的 RESTful API 实现缓存和速率限制/DDOS 保护吗?
缓存:Cloudflare supports HTTP cache control headers因此 API 可以决定通过 GET 请求的每个实体是否是公共(public)的以及可以缓存多长时间。
DDOS 防护:Cloudflare 支持有一篇文章 recommending that DDOS protection be disabled for backend APIs ,但这不适用于我的用例,即每个客户端都应该向 API 发出少量请求。 native DDOS 保护实际上符合我保护 API 免受机器人攻击的要求。
可能这是一个高级 Cloudflare 用例 - 但我认为它很有希望,并且很高兴听到是否有人有类似的经验(在 Cloudflare 或其他 CDN 上)。
最佳答案
Cloudflare 已发布 a list of best practices将其与 API 一起使用。
TL;DR,他们建议设置一个修补所有 API 请求的页面规则并在其上放置以下设置:
关于rest - 可以使用 Cloudflare 缓存和保护 REST API 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29569021/