我们的一个 Java 程序启动时,它只监听 IPv6 (8080)
例如
# netstat -ntpl
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::8080 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
问题是它无法从外部访问(本地主机除外),为了解决这个问题,我手动添加了这个
-Djava.net.preferIPv4Stack=true
但这使得该程序仅适用于 IPv4 网络。
是否可以像上面的sshd一样,都支持 IPv4 和 IPv6?