How To Enable IPv6 on Heroku

Why IPv6 Matters

IPv6 (Internet Protocol Version 6) is the next-generation internet protocol replacing IPv4. With the explosive growth of internet-connected devices, the world has essentially exhausted the 4.3 billion available IPv4 addresses. IPv6 provides 340 undecillion addresses—enough for every device on earth to have trillions of unique addresses.

Enabling IPv6 support is important for several reasons:

  • Mobile network access: Many mobile carriers use IPv6-only or IPv6-preferred networks
  • App Store compliance: Apple requires IPv6 support for app approval
  • Future-proofing: IPv6 adoption is growing rapidly worldwide
  • Performance: Direct IPv6 connections avoid NAT translation overhead
  • Global reach: Some regions have higher IPv6 adoption rates

Without IPv6 support, users on IPv6-only networks must go through translation gateways, adding latency and potential points of failure.

IPv6 Adoption

IPv6 adoption varies significantly by region and network:

  • United States: ~45% of traffic
  • Germany: ~60% of traffic
  • India: ~65% of traffic
  • Mobile networks: Often 70%+ IPv6
  • Enterprise networks: Varies widely

Major platforms like Google, Facebook, and Amazon have long supported IPv6. Your application should too.

Apple App Store Requirements

Apple has required IPv6 compatibility for iOS app approval since 2016. If your iOS or macOS app communicates with a backend API, that API must be reachable over IPv6.

Common rejection reason: “Your app cannot be reviewed because your server does not support IPv6.”

Enabling IPv6 through Expedited WAF ensures your Heroku backend passes Apple’s IPv6 requirements without any code changes.

Prerequisites

What you need to get started:

  1. Expedited WAF add-on installed on your Heroku application

How To Enable IPv6 on Heroku

Heroku’s standard routing does not support IPv6 directly. Expedited WAF provides IPv6 connectivity to your application by terminating IPv6 connections at our edge network and proxying to your Heroku app over IPv4.

Step 1: Contact Support

IPv6 support is enabled on request. Contact support@expeditedsecurity.com to enable IPv6 for your application.

Step 2: Verify DNS Configuration

After IPv6 is enabled, your DNS will include both A (IPv4) and AAAA (IPv6) records. You can verify this with:

dig AAAA yourdomain.com

Step 3: Test IPv6 Connectivity

Test your site’s IPv6 connectivity using online tools:

IPv6 support is included free on all Expedited WAF plans.

How It Works

Expedited WAF’s edge network is fully dual-stack (IPv4 + IPv6). When a user connects:

  1. IPv6 user connects to our edge via IPv6
  2. Expedited WAF terminates the connection and applies security rules
  3. Connection to Heroku uses IPv4 (Heroku’s protocol)
  4. Response travels back over IPv6 to the user

Your application code doesn’t need any changes—the protocol translation is transparent.

Common Use Cases

iOS/macOS App Backend

Enable IPv6 to pass Apple’s app review requirements. No code changes needed.

Mobile-First Applications

Mobile carriers increasingly use IPv6. Direct IPv6 support improves mobile user experience.

Global Deployments

Regions with high IPv6 adoption (India, Germany) benefit from native IPv6 support.

IoT and Device Connectivity

Many IoT devices operate on IPv6-only networks. Enable IPv6 to support these use cases.

Troubleshooting

Issue: Apple app rejection for IPv6

  • Contact support to verify IPv6 is enabled
  • Test with Apple’s Network Link Conditioner tool
  • Ensure your app uses hostnames, not hardcoded IPv4 addresses

Issue: IPv6 test tools show failure

  • Verify AAAA records are configured in DNS
  • Check that DNS propagation is complete (can take up to 24 hours)
  • Ensure you’re testing the correct domain

Issue: Some users can’t connect

  • Check if the user is on an IPv6-only network
  • Verify both A and AAAA records are present
  • Test from multiple network types

IPv4 vs IPv6 Technical Differences

FeatureIPv4IPv6
Address length32 bits128 bits
Address format192.168.1.12001:db8::1
Total addresses4.3 billion340 undecillion
NAT requiredUsuallyRarely
Header complexityVariableFixed

Resources

Learn more about IPv6:

Get Started

Install Expedited WAF Book a Security Review