为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

至尊宝的传说 2021-07-19 17:00:14
当我执行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");


查看完整回答
反对 回复 2021-07-23
?
互换的青春

TA贡献1797条经验 获得超6个赞

将 env 变量设置CATALINA_OPTS为 exportCATALINA_OPTS="-Djava.net.preferIPv4Stack=true"没有帮助。

然而,设置_JAVA_OPTIONSenv 变量发挥了作用。

  1. export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true" # 永久放入~/.bashrcsource ~/.bashrc

  2. mvn clean install

  3. java -jar file.jar

  4. netstat -tunlp #查看tomcat监听ipv4


查看完整回答
反对 回复 2021-07-23
  • 3 回答
  • 0 关注
  • 225 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信