я получил навык Alexa размещенного в AWS Lambda, которая использует AsyncHttpClient
для вызова службы IPv6
REST по следующему URL-адресу: ПримерКак вызвать службу IPv6 REST через AWS Lambda
http://[2a12:5375:4151:2300:1353:a632:5f4e:c232]:4711/rest/test
Теперь моя проблема , что я всегда получаю следующее исключение:
ava.util.concurrent.ExecutionException: java.net.ConnectException: Protocol family unavailable
Если я проверить IP-адрес, назначенный для базового сервера или приложения ?, я получаю следующий адрес (также пример):
ip-10-23-56-1.eu-west-1.compute.internal: 10.23.56.1
Так я думаю, потому что я использую IPv6, в то время как система использует IPv4, я не могу заставить ее работать? Я могу позвонить на службу REST с другого сервера успешно.
Я также использую следующие системные свойства:
System.setProperty("java.net.preferIPv6Addresses", "true");
System.setProperty("java.net.preferIPv4Stack", "false");
Есть ли какое-либо решение, чтобы обеспечить «туннель» по основной системе IPv4 к туннелю IPv6-адрес для вызова службы REST? Или есть более простое решение?
Вы не можете получить доступ к IPv6-адресам только с места IPv4 (если вы не используете определенное программное обеспечение для туннелирования, такое как Teredo) – Ferrybig