Our server is currently IPv4 only.
However we are using CloudFlare in front of it, and we would like to take advantage of the IPv6 compatibility it offers.
In the same time we have some applications on the server which are not aware of IPv6 (like vBulletin), and we don't want to introduce any unexpected behavior there.
We are also using mod_cloudflare to get the actual IPs of the client.
Questions / didn't try out the followings yet, want to make sure first:
From reading the CloudFlare documentation, I understood it would work like this after enabling IPv6 Compatibility:
- CLIENT w/ IPv4 > CF > CF w/ IPv4 > SERVER w/ IPv4 > mod_cf > get CLIENT IPv4
- CLIENT w/ IPv6 > CF > CF w/ IPv4 > SERVER w/ IPv4 > mod_cf > get CLIENT IPv6
The issue here is that we get an IPv6 address which might introduce errors in the IPv6-unaware apps.
Reading further on CloudFlare, I saw they have the Pseudo IPv4 with Overwrite headers:
- CLIENT w/ IPv6 > CF > CF w/ IPv4 > SERVER w/ IPv4 > mod_cf > get CLIENT Pseudo IPv4
Would this be the correct approach to introduce IPv6 compatibility without breaking any existing applications on the server? Are there any drawbacks to this method?
References: