检测顺序:
1、防火墙拦截,服务器防火墙+服务器运营商出入口规则,确认防火墙允许该端口的进出;
2、服务运行状态监测,ubuntu下netstat -ntulp|grep port(目标端口号),
查看端口是否处于监听中,
查看localAddress是否为0.0.0.0:port 而非[::](ipv6地址表示)、ForeignAddress是否为0.0.0.0:*
同时,udp不知道为啥不支持ipv6,而服务默认使用ipv6(前述命令得到的列表中,左侧为udp为ipv4,为udp6为ipv6)
3、服务逻辑是否正常,确保服务逻辑不报错,并有正确的返回内容
解决方案:
使用 -Djava.net.preferIPv4Stack=true确保启动的服务只监听ipv4的地址,
即,启动springboot项目使用 java -Djava.net.preferIPv4Stack=true -jar xxx.jar