保护您的API路由免受滥用
rate-limit
包,由@upstash/ratelimit
提供支持,这是一个专为无服务器和边缘环境设计的无连接(基于HTTP)的速率限制库。
UPSTASH_REDIS_REST_URL
和UPSTASH_REDIS_REST_TOKEN
环境变量时,web
包的联系表单会自动启用速率限制。如果启用,联系表单将限制每个IP地址每天只能发送1个请求。
要获取您的环境变量,您可以在Upstash控制台注册并创建一个Redis KV数据库。然后您可以在数据库详情页面找到REST URL和REST token。
然后您可以将这些环境变量粘贴到每个环境变量文件中。
createRateLimiter
函数为您的 API 路由添加速率限制。例如,要将每个 IP 地址的 AI 请求数限制为每 10 秒 10 个,可以这样做:
rate-limit
包连接到Upstash Redis数据库,并自动限制对您API路由的请求数量。
默认的速率限制配置允许每个标识符每10秒10个请求。@upstash/ratelimit
还有其他速率限制算法,例如:
rate-limit
包中导入,您可以在任何 API 路由中使用速率限制。例如:
选择合适的标识符
配置速率限制
实现错误处理
监控和调整
@upstash/ratelimit
还提供了一些高级功能: