Skip to content
Back to Templates

IP Blocking with Upstash

Template featuring IP Blocking at the edge using Upstash.

IP Blocking Upstash

IP Blocking with Upstash

This example features IP blocking at the edge with Redis using Upstash.

Demo

https://edge-functions-ip-blocking.vercel.app

How to Use

You can choose from one of the following two methods to use this repository:

One-Click Deploy

Deploy the example using Vercel:

Clone and Deploy

Execute create-next-app with pnpm to bootstrap the example:

pnpm create next-app --example https://github.com/vercel/examples/tree/main/edge-middleware/ip-blocking ip-blocking

You'll need to have an account with Upstash. Once that's done, copy the .env.example file in this directory to .env.local (which will be ignored by Git):

cp .env.example .env.local

Then open .env.local and set the environment variables to match the REST API of your database. It should look like this:

UPSTASH_REST_API_DOMAIN = "us1-shiny-firefly-12345.upstash.io"
UPSTASH_REST_API_TOKEN = "your-api-token"

Next, run Next.js in development mode:

pnpm dev

Deploy it to the cloud with Vercel (Documentation).