Apple отклонила обновление приложения, потому что оно не работает с подключением ipv6. Приложение подключается к серверу через веб-сокет (socket.io, NodeJS, Express). Приложение использует адрес поддомена для подключения к серверу.
Я установил балансировщик нагрузки Google с двумя "интерфейсами". Один - обычный ipv4, другой - ipv6.
Я могу подключиться к серверу напрямую, используя ipv4-адрес балансировщика нагрузки, поэтому я предполагаю, что это означает, что я сделал это правильно.
Внешний зарезервированный ipv6-адрес балансировщика нагрузки выглядит так:
[9999:9999:0:9999::]:80
Я добавил DNS-запись «AAAA» в поддомен. После принятия этого адреса редактор DNS показывает это так:
9999:9999:0000:9999:0000:0000:0000:0000
Такие услуги: http://ipv6-test.com/validate.php
Показывают эти результаты: http://prntscr.com/i8fk9j
Как вы можете видеть на скриншоте, среди других сообщений говорится следующее:
В этом домене нет DNS-сервера IPv6, это может помешать некоторым пользователям, использующим только IPv6, получить доступ к нему.
Я создал точку доступа, как описано здесь яблоко (Регулярно проверяйте совместимость IPv6 DNS64 / NAT64) и подключил iphone к этой точке доступа.
Приложение не может подключиться к серверу.
Я также попытался выполнить проверку работоспособности в адресе Safari, находясь на том же телефоне с тем же подключением. Он возвращает правильный ответ «истина», но это не имеет ничего общего с websocket - это простой слушатель REST.
Что я делаю не так?
Сообщение похоже не о ваших записях AAAA, а об адресе DNS-сервера для вашего домена. Даже если в вашем домене есть записи AAAA, пользователи только IPv6 не могут получить к нему доступ, если они не могут подключиться к DNS-серверу для вашего домена.