当我执行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 ..
3 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
在“普通”Tomcat 中,您需要传递-Djava.net.preferIPv4Stack=true以仅使用 IPv4。您应该能够设置一个环境变量,或者如果需要,在您的环境开始时有一些代码,例如:
Properties props = System.getProperties();
props.setProperty("java.net.preferIPv4Stack", "true");
互换的青春
TA贡献1797条经验 获得超6个赞
将 env 变量设置CATALINA_OPTS
为 exportCATALINA_OPTS="-Djava.net.preferIPv4Stack=true"
没有帮助。
然而,设置_JAVA_OPTIONS
env 变量发挥了作用。
export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"
# 永久放入~/.bashrc
并source ~/.bashrc
mvn clean install
java -jar file.jar
netstat -tunlp
#查看tomcat监听ipv4
添加回答
举报
0/150
提交
取消