extractClientIp 上的 Ipv4 ClientIp -> akka-http

Ipv4 ClientIp on extractClientIp -> akka-http

如何获取javaakka-httpipv4客户端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") returns ipv6 也是。

谢谢。

尝试为您的 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