在extractClientIp上的Ipv4 ClientIp - >阿卡-HTTP

时间:2017-05-04 15:15:29

标签: java akka akka-http

如何在akka-http下的java中获取 ipv4 客户端IP? 在我的createRoute方法上,我尝试:

return extractClientIP(clientIp -> {
            Optional<InetAddress> optAdd = clientIp.getAddress();
            return complete(optAdd.get().getClass().getName());
        });

但我得到了java.net.Inet6Address个实例而不是java.net.Inet4Address个实例。

request.getHeader("Remote-Address")也会返回ipv6。

感谢。

1 个答案:

答案 0 :(得分:1)

尝试为您的Akka-HTTP应用设置首选项以使用IPv4。这应该通过设置以下JVM选项来完成:

java.net.preferIPv4Stack=true

如果你正在使用SBT:

javaOptions += "-Djava.net.preferIPv4Stack=true"

相关问题: https://superuser.com/questions/453298/how-to-force-java-to-use-ipv4-instead-ipv6