SShortSingh.
Back to feed

How to Implement Redis-Backed Rate Limiting in Next.js App Router on Serverless

0
·1 views

Rate limiting in Next.js App Router on serverless platforms like Vercel breaks in ways that in-memory solutions cannot handle, because each function instance maintains its own counter, effectively multiplying the configured limit by the number of warm instances. Next.js middleware, while efficient for blocking abusive traffic early, cannot distinguish between individual Server Actions since all of them POST to the same page URL. The only reliable way to rate-limit a specific Server Action is to embed the logic directly inside the action body using a shared Redis-backed store. Developers should use Vercel's ipAddress() helper for accurate client identification, as NextRequest.ip was removed in Next.js 15 and raw forwarded headers can be spoofed. When a limit is exceeded, returning a structured error value rather than throwing is recommended, since uncaught Server Action errors are redacted in production and give users no actionable information.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

CSS Grid vs Flexbox: When to Use Each Layout Tool in Web Design

CSS Grid and Flexbox are two distinct layout tools in CSS, each suited to different design scenarios. Flexbox excels at one-dimensional layouts, such as navigation bars or button groups arranged along a single row or column. CSS Grid is better suited for two-dimensional layouts where both rows and columns must be explicitly defined, such as complex admin dashboards. Developers often run into trouble when they try to use Flexbox for grid-style layouts, leading to overflow or collapsing elements. Understanding which tool fits the task — rather than defaulting to one — is key to building clean, responsive web interfaces.

0
ProgrammingDEV Community ·

Hi everyone! 👋

Hi everyone! 👋 I'm Wilbur, and I'm new here! I run my own tech community on Mattermost and also have a YouTube channel where I create tech-related content. I'm an advanced Linux user and also work a lot with AI and automation. I'm always interested in learning more, sharing what I know, and connecting with other people who are into tech, Linux, AI, and content creation.

0
ProgrammingDEV Community ·

Developer Builds Phone-Controlled AI Coding Agent Using n8n, Telegram, and Cloudflare

A developer has built a human-in-the-loop autonomous coding workflow that lets them assign programming tasks remotely via Telegram and receive updates on their phone. The system combines n8n, an Express.js runner, OpenAI's Codex, and a Cloudflare Tunnel to route commands securely from the internet to a local development machine without exposing it publicly. When the AI agent encounters actions requiring elevated permissions, it pauses and sends an approval request directly to the developer's Telegram account before proceeding. The developer chose Telegram as the interface to avoid building a custom dashboard, leveraging its built-in push notifications, inline buttons, and mobile accessibility. The project demonstrates a practical approach to keeping humans in control of AI agents while still enabling largely autonomous local code execution.

0
ProgrammingDEV Community ·

Blockend Lets Developers Own Backend Infrastructure Code Instead of Adding Dependencies

Blockend is a developer tool that offers a CLI-based approach to managing common backend infrastructure code such as graceful shutdown, request validation, authentication, and error handling. Rather than installing npm packages that become hard-to-modify dependencies, Blockend copies production-ready TypeScript blocks directly into a developer's own codebase. This gives teams full ownership and the freedom to read, edit, or remove the code without waiting for upstream package updates. The tool draws a distinction between product code — such as business logic — and infrastructure code, arguing the latter should be customizable rather than locked inside a library. Blockend aims to reduce repeated infrastructure work while keeping developers in full control of how that code behaves in their applications.

How to Implement Redis-Backed Rate Limiting in Next.js App Router on Serverless · ShortSingh