• Getting Started
    • Projects and Deployments
    • Use a Template
    • Import Existing Project
    • Add a Domain
    • Buy a Domain
    • Transfer an Existing Domain
    • Collaborate
    • Next Steps
  • Supported Frameworks
    • Next.js
    • SvelteKit
    • Astro
    • Nuxt
    • Vite
    • React Router
    • Remix
    • Gatsby
    • Create React App
    • All Frameworks
  • Incremental Migration
    • Migration Guide
    • Technical Guidelines
  • Production Checklist
  • Guides

  • Access
    • Account Management
    • Activity Log
    • Deployment Protection
      • Bypass Deployment Protection
        • Exceptions
        • OPTIONS Allowlist
        • Protection Bypass for Automation
        • Sharable Links
      • Protect Deployments
        • Password Protection
        • Trusted IPs
        • Vercel Authentication
    • Directory Sync
    • SAML SSO
    • Two-factor (2FA)
  • AI
    • v0
    • AI SDK
    • Integrations
      • Adding a Provider
      • Adding a Model
      • xAI
      • Groq
      • fal
      • Deep Infra
      • ElevenLabs
      • LMNT
      • OpenAI
      • Perplexity
      • Pinecone
      • Replicate
      • Together AI
  • API
    • REST API
    • Vercel SDK
  • Build & Deploy
    • Builds
      • Build Features
      • Build Image
        • Build Image Installed Packages
      • Build Queues
      • Configuring a Build
      • Managing Builds
    • Deploy Hooks
    • Deployment Retention
    • Deployments
      • Environments
      • Generated URLs
      • Managing Deployments
      • Promoting Deployments
      • Troubleshoot Build Errors
      • Accessing Build Logs
      • Claim Deployments
      • Inspect OG Metadata
      • Preview Deployment Suffix
      • Sharing a Preview Deployment
    • Environment Variables
      • Framework Environment Variables
      • Managing Environment Variables
      • Reserved Environment Variables
      • Sensitive Environment Variables
      • Shared Environment Variables
      • System Environment Variables
    • Git Integrations
      • GitHub
      • Azure DevOps
      • Bitbucket
      • GitLab
    • Instant Rollback
    • Monorepos
      • Turborepo
      • Remote Caching
      • Nx
      • Monorepos FAQ
    • Package Managers
    • Protected Git Scopes
    • Skew Protection
    • Webhooks
      • Webhooks API Reference
  • CDN
    • Data Cache
      • Manage Data Cache
    • Domains
      • Working with Domains
        • Adding a Domain
        • Adding a Domain to an Environment
        • Assigning a Domain to a Git Branch
        • Deploying & Redirecting Domains
        • Removing a Domain
        • Renewing a Domain
        • Transferring Domains
        • Viewing & Searching Domains
      • Working with DNS
      • Managing DNS Records
      • Working with Nameservers
      • Managing Nameservers
      • Working with SSL
      • Custom SSL Certificates
      • Supported Domains
      • Troubleshooting Domains
    • Edge Cache
    • Edge Network
      • Regions
      • Compression
      • Manage Usage
    • Encryption
    • Headers
      • Security Headers
      • Cache-Control Headers
      • Request Headers
      • Response Headers
    • Image Optimization
      • Getting Started
      • Limits and Pricing
      • Managing Usage & Costs
      • Legacy Pricing
    • Redirects
    • Rewrites
  • Collaboration
    • Comments
      • Enabling Comments
      • Using Comments
      • Managing Comments
      • Integrations
    • Draft Mode
    • Edit Mode
    • Feature Flags
      • Flags Explorer
        • Getting Started
        • Reference
        • Pricing
      • Flags SDK
      • With Runtime Logs
      • With Vercel Platform
      • With Web Analytics
    • Toolbar
      • Add to Environments
        • Add to Localhost
        • Add to Production
      • Managing Toolbar
      • Browser Extensions
      • Accessibility Audit Tool
      • Interaction Timing Tool
      • Layout Shift Tool
  • Compute
    • Cron Jobs
      • Getting Started
      • Managing Cron Jobs
      • Usage & Pricing
    • Functions
      • Getting Started
      • Streaming
      • Fluid Compute
      • Runtimes
        • Node.js
          • Advanced Node.js Usage
          • Supported Node.js versions
        • Python
        • Go RuntimeGo
        • Ruby
        • Wasm
        • Edge Runtime
          • Edge Functions
      • Configuring Functions
        • Duration
        • Memory
        • Runtime
        • Region
        • Advanced Configuration
      • API Reference
        • @vercel/functions
      • Logs
      • Limits
      • Usage & Pricing
      • Concurrency Scaling
    • Incremental Static Regeneration
      • Getting Started
      • Usage & Pricing
    • Middleware
      • Getting Started
      • Edge Runtime
      • Edge Middleware API
      • Usage & Pricing
      • Limitations
    • OG Image Generation
      • @vercel/og
      • Examples
  • Observability
    • Log Drains
      • Configure Log Drains
      • Log Drains Reference
    • Monitoring
      • Getting Started
      • Monitoring Reference
      • Limits and Pricing
    • Observability
      • Limits and Pricing
      • Logs
      • Query
        • Query Reference
    • OpenTelemetry
    • Runtime Logs
    • Session Tracing
    • Speed Insights
      • Getting Started
      • Using Speed Insights
      • Metrics
      • Privacy
      • @vercel/speed-insights
      • Limits and Pricing
      • Troubleshooting
      • Migrating from Legacy
    • Web Analytics
      • Getting Started
      • Using Web Analytics
      • Filtering
      • Custom Events
      • Redacting Sensitive Data
      • Privacy
      • @vercel/analytics
      • Pricing
      • Troubleshooting
  • Platform
    • Dashboard
      • Navigating the Dashboard
      • Support Center
      • Using the Command Menu
    • Notifications
    • Projects
      • Managing projects
      • Project Dashboard
      • Transferring a project
    • Project Configuration
      • General Settings
      • Project Settings
      • Git Configuration
      • Git Settings
      • Global Configuration
      • Security settings
    • Checks
      • Checks API
      • Checks Reference
    • CLI
      • Deploying from CLI
      • Project Linking
      • Telemetry
      • Global Options
      • vercel alias
      • vercel bisect
      • vercel build
      • vercel certs
      • vercel deploy
      • vercel dev
      • vercel dns
      • vercel domains
      • vercel env
      • vercel git
      • vercel help
      • vercel init
      • vercel inspect
      • vercel install
      • vercel integration
      • vercel integration-resource
      • vercel link
      • vercel list
      • vercel login
      • vercel logout
      • vercel logs
      • vercel project
      • vercel promote
      • vercel pull
      • vercel redeploy
      • vercel remove
      • vercel rollback
      • vercel switch
      • vercel teams
      • vercel telemetry
      • vercel whoami
    • Integrations
      • Extend Vercel
        • Add a Connectable Account
        • Add a Native Integration
        • Permissions and Access
      • Integrate with Vercel
        • Native integration concepts
        • Create a Native Integration
        • Deployment integration actions
        • Native Integration Flows
        • Native Integrations REST API
        • Integration Approval Checklist
        • Requirements for listing an Integration
        • Upgrade an Integration
      • CMS Integrations
        • Agility CMS
        • ButterCMS
        • Contentful
        • DatoCMS
        • Formspree
        • Makeswift
        • Sanity
        • Sitecore
      • Ecommerce Integrations
        • BigCommerce
        • Shopify
      • Sign in with Vercel
      • Building Integrations with Vercel REST API
      • External Platforms
        • Kubernetes
    • Limits
      • Fair use Guidelines
  • Pricing
    • Plans
      • Hobby Plan
      • Pro Plan
        • Pro Plan Trial
        • Billing FAQ
      • Enterprise Plan
        • Billing FAQ
    • Pricing
      • Regional Pricing
        • Cape Town, South Africa
        • Cleveland, USA
        • Dublin, Ireland
        • Frankfurt, Germany
        • Hong Kong
        • London, UK
        • Mumbai, India
        • Osaka, Japan
        • Paris, France
        • Portland, USA
        • San Francisco, USA
        • São Paulo, Brazil
        • Seoul, South Korea
        • Singapore
        • Stockholm, Sweden
        • Sydney, Australia
        • Tokyo, Japan
        • Washington, D.C., USA
      • Manage and Optimize Usage
      • Calculating Usage of Resources
      • Billing & Invoices
      • Legacy Metrics
      • Observability
    • Spend Management
  • Security
    • Overview
      • Security & Compliance Measures
      • Shared Responsibility Model
      • PCI DSS iframe Integration
      • Reverse Proxy Servers and Vercel
      • Access Control
    • Audit Logs
    • Firewall
      • Firewall Concepts
      • DDoS Mitigation
      • Attack Challenge Mode
      • Web Application Firewall
        • Custom Rules
        • Rate Limiting
        • Rule Configuration
        • System Bypass Rules
        • Rate Limiting SDK
        • IP Blocking
        • Managed Rulesets
        • Examples
        • Usage & Pricing
      • Firewall API
      • Firewall Observability
    • Bot Protection
    • OIDC
      • AWS
      • Azure
      • Connect your API
      • Google Cloud Platform
      • OIDC Reference
    • RBAC
      • Access Roles
        • Project Level Roles
        • Team Level Roles
      • Access Groups
      • Managing Team Members
    • Secure Compute
  • Storage
    • Blob
      • Server Uploads
      • Client Uploads
      • Using the SDK
      • Pricing
    • Edge Config
      • Getting Started
      • Using Edge Config
      • Edge Configs & REST API
      • Edge Configs & Dashboard
      • Edge Config SDK
      • Limits & Pricing
      • Integrations
        • DevCycle
        • Hypertune
        • LaunchDarkly
        • Split
        • Statsig
    • Postgres
    • Redis
Choose a framework to optimize documentation to:
    Firewall
    Web Application Firewall
    Examples

    WAF Examples

    Learn how to use Vercel WAF to protect your site in specific situations.
    ExampleCategoryTemplate
    Suspicious traffic in specific countriesCustom Rule
    Emergency redirectCustom Rule
    Limit abuse with rate limitingCustom Rule
    Block AI botsCustom Rule
    Block .php requestsCustom Rule
    Block traffic from a specific IP addressIP Blocking
    Challenge cURL requestsFirewall REST API
    Challenge cookieless requests on a specific pathFirewall REST API
    Deny non-browser traffic or blocklisted ASNsFirewall REST API
    Deny traffic from a set of IP addressesFirewall REST API
    Last updated on May 11, 2025

    Next
    Account Management

    Was this helpful?

    supported.

      Products

      • AI
      • Enterprise
      • Fluid Compute
      • Next.js
      • Observability
      • Previews
      • Rendering
      • Security
      • Turbo
      • v0

      Resources

      • Community
      • Docs
      • Guides
      • Help
      • Integrations
      • Pricing
      • Resources
      • Solution Partners
      • Startups
      • Templates

      Company

      • About
      • Blog
      • Careers
      • Changelog
      • Contact Us
      • Customers
      • Partners
      • Privacy Policy

      Social

      • GitHub
      • LinkedIn
      • Twitter
      • YouTube

      Loading status…

      Select a display theme: