我们的服务器目前只有IPv4 。
但是,我们正在使用CloudFlare ,我们希望利用它提供的IPv6兼容性 。
同时我们在服务器上有一些不知道IPv6的应用程序(比如vBulletin),我们不想引入任何意外的行为。
我们也使用mod_cloudflare来获取客户端的实际IP地址。
问题 /还没有尝试以下内容,首先要确定:
从阅读CloudFlare文档后,我明白在启用IPv6兼容性之后 ,它可以像这样工作:
- CLIENT w / IPv4> CF> CF w / IPv4> SERVER w / IPv4> mod_cf>获取CLIENT IPv4
- CLIENT w / IPv6> CF> CF w / IPv4> SERVER w / IPv4> mod_cf>获取CLIENT IPv6
这里的问题是,我们得到一个IPv6地址,这可能会导致IPv6未知的应用程序中的错误。
进一步阅读CloudFlare,我看到他们有覆盖头的伪IPv4 :
- CLIENT w / IPv6> CF> CF w / IPv4> SERVER w / IPv4> mod_cf>获取CLIENT伪IPv4
这将是引入IPv6兼容性的正确方法,而不会破坏服务器上的任何现有应用程序? 这种方法有什么缺点吗?
参考文献
代理服务提供IPv6到IPv4转换是很常见的有几个可选的标题可以包含IP地址。 如果你不使用它们,那么应该没有问题。 如果您的软件具有IPv6function,而您只是没有公共IPv6地址,则出现问题的可能性较小。
最有可能具有IPv6地址的报头是X-Forwarded-For。 Cloudflare还会注入一个标题,指示其服务器所看到的客户端的地址。 他们的选项清理两个标题,以便无法处理IPv6地址的应用程序将看到IPv4地址。 你应该没有这个选项的问题。
即使您没有立即为您的服务器获取IPv6地址,我也会敦促您升级到IPv6function。