You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Linux服务器上的SpringWeb Jar监听IPv4?

问题原因分析
  • Linux系统IPv6双栈默认配置:多数现代Linux发行版默认开启了net.ipv6.bindv6only参数(值为1),该参数会强制绑定IPv6地址的服务仅监听IPv6协议栈,无法兼容IPv4。而Windows系统默认不会启用该限制,因此绑定IPv6任意地址(::)时会自动同时监听IPv4。
  • Spring Boot嵌入式Tomcat默认监听行为:未指定server.address时,Tomcat默认绑定IPv6任意地址(::)。在Linux的bindv6only=1配置下,就只能监听IPv6端口;而Windows无此限制,所以能同时监听IPv4和IPv6。
解决方法

方法1:调整Linux系统的IPv6绑定参数

  • 临时生效:执行以下命令立即修改参数
    sudo sysctl -w net.ipv6.bindv6only=0
    
  • 永久生效:编辑系统配置文件(如/etc/sysctl.conf或/etc/sysctl.d/99-sysctl.conf),添加一行:
    net.ipv6.bindv6only=0
    
    然后执行sudo sysctl -p加载新配置,重启后依然有效。

方法2:指定Spring Boot监听IPv4地址

直接让应用绑定IPv4的任意地址(0.0.0.0),绕过IPv6双栈限制:

  • 通过配置文件设置:
    在application.properties中添加:
    server.address=0.0.0.0
    
    或在application.yml中添加:
    server:
      address: 0.0.0.0
    
  • 通过启动命令指定:
    java -jar your-application.jar --server.address=0.0.0.0
    

方法3:检查自定义Tomcat连接器配置(若有)

如果您自定义了Tomcat的连接器配置,确保没有强制指定绑定IPv6地址(如address="::"),将其改为address="0.0.0.0"或者不指定(结合方法1的系统配置也可生效)。

内容的提问来源于stack exchange,提问作者linchen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 10:33:20