This example features IP blocking at the edge with Redis using Upstash.
https://edge-functions-ip-blocking.vercel.app
You can choose from one of the following two methods to use this repository:
Deploy the example using Vercel:
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).
This example features IP blocking at the edge with Redis using Upstash.
https://edge-functions-ip-blocking.vercel.app
You can choose from one of the following two methods to use this repository:
Deploy the example using Vercel:
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).