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:
- 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:
- IPv6 user connects to our edge via IPv6
- Expedited WAF terminates the connection and applies security rules
- Connection to Heroku uses IPv4 (Heroku’s protocol)
- 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
| Feature | IPv4 | IPv6 |
|---|---|---|
| Address length | 32 bits | 128 bits |
| Address format | 192.168.1.1 | 2001:db8::1 |
| Total addresses | 4.3 billion | 340 undecillion |
| NAT required | Usually | Rarely |
| Header complexity | Variable | Fixed |
Related Guides
Resources
Learn more about IPv6: