IPv6客户端通过CloudFlare(w / mod_cloudflare)访问带有IPv6未知应用程序的IPv4服务器

我们的服务器目前只有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兼容性的正确方法,而不会破坏服务器上的任何现有应用程序? 这种方法有什么缺点吗?

参考文献

  • https://www.cloudflare.com/ipv6/
  • https://support.cloudflare.com/hc/en-us/articles/202494830-Pseudo-IPv4-Supporting-IPv6-addresses-in-legacy-IPv4-applications

代理服务提供IPv6到IPv4转换是很常见的有几个可选的标题可以包含IP地址。 如果你不使用它们,那么应该没有问题。 如果您的软件具有IPv6function,而您只是没有公共IPv6地址,则出现问题的可能性较小。

最有可能具有IPv6地址的报头是X-Forwarded-For。 Cloudflare还会注入一个标题,指示其服务器所看到的客户端的地址。 他们的选项清理两个标题,以便无法处理IPv6地址的应用程序将看到IPv4地址。 你应该没有这个选项的问题。

即使您没有立即为您的服务器获取IPv6地址,我也会敦促您升级到IPv6function。