猿问

如何在 maven 项目中将 IPv4 绑定到嵌入式 tomcat?

当我执行

request.getRemoteAddr()

我将在 IPv6 中收到 localhost,即 0:0:0:0:0:0:0:1。但我需要的是 127.0.0.1 或通常只有 IPv4。如何在我的 Maven 项目中实现嵌入 tomcat 的功能?

如果我执行request.getHeader("X-Forwarded-For"),我会得到 IPv4 吗?因为在本地记录它时,我收到了一个 NULL ..


至尊宝的传说
浏览 227回答 3
3回答

呼唤远方

在“普通”Tomcat 中,您需要传递-Djava.net.preferIPv4Stack=true以仅使用 IPv4。您应该能够设置一个环境变量,或者如果需要,在您的环境开始时有一些代码,例如:Properties props = System.getProperties();props.setProperty("java.net.preferIPv4Stack", "true");

互换的青春

将 env 变量设置CATALINA_OPTS为 exportCATALINA_OPTS="-Djava.net.preferIPv4Stack=true"没有帮助。然而,设置_JAVA_OPTIONSenv 变量发挥了作用。export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true" # 永久放入~/.bashrc并source ~/.bashrcmvn clean installjava -jar file.jarnetstat -tunlp #查看tomcat监听ipv4
随时随地看视频慕课网APP

相关分类

Java
我要回答