我最近有一个应用程序被 iOS 商店拒绝,因为在其(现在)强制性 IPv6 测试期间崩溃了(我甚至不知道他们这样做了)。
我的服务器(在 AWS 上)没有为 IPv6 设置,但我已经通过适当的 DNS 和路由解决了这个问题。它通过了http://ready.chair6.net/
到目前为止,我做了一些研究,发现你可以使用 Mac OS X 上的互联网连接共享(即 NAT64)在家中欺骗 IPv6 网络。因此,我这样做了,并为装有我的应用程序的 iPhone 分配了一个 v6 地址,一切正常。但是,这并没有真正测试苹果将进行的整个端到端连接,因为一旦它进入 Mac,它就会回到 v4。
我正在尝试找出一种方法来测试与我的服务器的整个 v6 连接。现在我假设我的家庭互联网只提供 IP4。我目前的想法是在 Digital Ocean/etc 上设置一个 VM/droplet。它们可以同时分配 v4 和 v6。进一步的研究表明,“socat”或“squid cache”可能能够监听 IP4 端口/地址并路由到同一台机器上的 IP6 地址,以继续在 IP6 上访问我的应用服务器。不过,我对细节有点迷茫。如何通过 IP4 从我家里的客户端连接到 VM?我必须使用隧道吗?我可以在 Firefox 中设置代理吗?如何通过此连接传递 DNS 请求,以便我的 DNS 服务器使用 IP6 地址而不是 v4 地址进行响应?我敢肯定还有许多其他问题我目前没有想到。
对于如何做到这一点,您有什么想法吗?谢谢!
答案1
您可以设置一个https://tunnelbroker.net/隧道将 IPv6 添加到您的家庭系统。此外,一些 ISP 具有允许本机连接的 IPv6 配置。