据我理解,0.0.0.0
这意味着该主机的所有网络接口(包括127.0.0.1
)。
假设我有三个接口192.0.2.40
,203.0.113.150
并且127.0.0.1
在服务器上(OS linux)。
在 上192.0.2.40:777
,我有 ServerA。在 上 203.0.113.150:777
,我有 ServerB。服务器将如何处理请求0.0.0.0:777
?我的意思是当同一端口 ( 777
) 正在监听不同的接口时。还是我理解错了?
答案1
服务器将如何处理对 0.0.0.0:777 的请求
它不会 - 您不能向 0.0.0.0 发送请求,句号。
这意味着主机将对每个请求(在端口 777 上)做出反应,无论使用哪个 IP 地址。显然,服务器必须配置 IP 地址,但这意味着服务器进程不会进行任何额外的过滤。
答案2
0.0.0.0
和127.0.0.1
是内部使用的。0.0.0.0
用于指定所有接口, 和127.0.0.1
指定回环接口。 它们与传入流量无关。
如果客户端需要连接到您的服务器,他们将需要指定接口的实际 IP 地址,例如192.0.2.40:777
或203.0.113.150:777
。这样您的 Linux 计算机就知道哪个服务器应该处理请求。(如果客户端尝试连接到127.0.0.1
或0.0.0.0
,他们将连接到他们自己的系统,而不是你的。