我刚刚遇到一个问题,localhost:8080
从 curl 发出的请求与从 Node 内部发出的相同请求到达了不同的服务器。 lsof -i :8080
显示两个进程都绑定到同一个端口:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 51961 mball 14u IPv4 0xd980e0df7f175e13 0t0 TCP *:http-alt (LISTEN)
java 62704 mball 320u IPv6 0xd980e0df7fe08643 0t0 TCP *:http-alt (LISTEN)
这怎么可能?它们绑定到不同的接口了吗?还是 IPv4 与 IPv6 的比较?
如果您好奇的话,node 正在影响其他 node 进程,而 curl 正在影响 java 进程。java 进程是在 node 进程之后启动的。
答案1
它们可能是相同的端口,但它们不是相同的地址 - 甚至不是相同的地址系列!是的,IPv4 与 IPv6 很重要。
要修复此问题,请期望进程绑定到 IPv4 和 IPv6 地址系列。