如何在java
下的akka-http
中获取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。
谢谢。
最佳答案
尝试为您的 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
关于java - extractClientIp 上的 Ipv4 ClientIp -> akka-http,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43786822/