我可以在 127.0.0.1 和 192.168.xx 上使用相同的端口吗

我可以在 127.0.0.1 和 192.168.xx 上使用相同的端口吗

我不太明白 localhost 与分配给每台机器的私有 IP 有何关系。

如果我在 localhost:8080 上运行服务器,我可以在 192.168.xx:8080 上运行其他服务器吗?

更具体地说,如果我在 localhost:8080 上运行 python 女服务员服务器并使用 NGINX 进行反向代理,我可以让 NGINX 监听端口 8080 吗?

答案1

如果我在 localhost:8080 上运行服务器,我可以在 192.168.xx:8080 上运行其他服务器吗?

是的,只要它们绑定到不同的本地地址(即,根据地址:端口组合来跟踪套接字),同一个端口上可以有不同的监听套接字。

(但要避免将特定的address:port监听器与“任何地址”0.0.0.0:port[::]:port监听器混合。通常这也是允许的,但有更严格的要求,例如,我认为如果两个程序有不同的 UID,Linux 就不允许这样做。)

我不太明白 localhost 与分配给每台机器的私有 IP 有何关系。

不会。名称“localhost”专门解析为地址 127.0.0.1 和 [::1],没有其他内容。它从不使用您的实际 LAN 地址。

答案2

localhost转化为127.0.0.1,所以localhost:8080127.0.0.1:8080是同一回事。

192.168.x.x是不同的 IP 地址,因此可以重复使用相同的端口。您可以在127.0.0.1:8080和 上运行不同的服务器192.168.0.1:8080,如果您有更多 IP 地址,甚至可以继续使用,例如:192.168.0.2:8080192.168.0.3:8080

相关内容