Mar*_*öll 2 java ipv6 aws-lambda alexa-skills-kit
我有一个托管在 AWS Lambda 中的 Alexa Skill,它用于在以下示例 URL 下AsyncHttpClient调用REST 服务:IPv6
http://[2a12:5375:4151:2300:1353:a632:5f4e:c232]:4711/rest/test
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,我总是遇到以下异常:
ava.util.concurrent.ExecutionException: java.net.ConnectException: Protocol family unavailable
Run Code Online (Sandbox Code Playgroud)
如果我检查分配给底层服务器或应用程序的 IP 地址?,我会得到以下地址(也是示例):
ip-10-23-56-1.eu-west-1.compute.internal: 10.23.56.1
Run Code Online (Sandbox Code Playgroud)
所以我想,因为我使用的是 IPv6,而系统使用 IPv4,所以我无法让它工作?我可以从另一台服务器成功调用我的 REST 服务。
我还使用以下系统属性:
System.setProperty("java.net.preferIPv6Addresses", "true");
System.setProperty("java.net.preferIPv4Stack", "false");
Run Code Online (Sandbox Code Playgroud)
是否有任何解决方案可以在 IPv4 底层系统上提供“隧道”,以通过隧道传输 IPv6 地址来调用 REST 服务?或者有更简单的解决方案吗?
该错误Protocol family unavailable意味着协议(在本例中为 IPv6)不可用或未在运行代码的系统上配置。
就 AWS 而言,您对此唯一能做的就是抱怨并希望他们最终向尚未提供 IPv6 支持的服务推出 IPv6 支持。
| 归档时间: |
|
| 查看次数: |
3892 次 |
| 最近记录: |