¿Puedo usar el mismo puerto en 127.0.0.1 y 192.168.xx?

¿Puedo usar el mismo puerto en 127.0.0.1 y 192.168.xx?

No entiendo muy bien cómo se relaciona localhost con la IP privada asignada a cada máquina.

Si ejecuto un servidor en localhost:8080, ¿puedo ejecutar algo más en 192.168.xx:8080?

Más específicamente, si ejecuto un servidor Python Waitress en localhost:8080 y uso NGINX para invertir el proxy, ¿puedo hacer que NGINX escuche en el puerto 8080?

Respuesta1

Si ejecuto un servidor en localhost:8080, ¿puedo ejecutar algo más en 192.168.xx:8080?

Sí, puede haber diferentes sockets de escucha en el mismo puerto siempre que estén vinculados a diferentes direcciones locales (es decir, los sockets se rastrean según las combinaciones de dirección: puerto).

(Pero evite mezclar address:portoyentes específicos con "cualquier dirección" 0.0.0.0:porto [::]:portoyente. Por lo general, eso también está permitido, pero tiene requisitos más estrictos; por ejemplo, creo que Linux no lo permite si los dos programas tienen UID diferentes).

No entiendo muy bien cómo se relaciona localhost con la IP privada asignada a cada máquina.

No es así. El nombre "localhost" se resuelve específicamente en las direcciones 127.0.0.1 y [::1], nada más. Nunca utiliza sus direcciones LAN reales.

Respuesta2

localhostse traduce como 127.0.0.1, entonces localhost:8080y 127.0.0.1:8080son lo mismo.

192.168.x.xes una dirección IP diferente, por lo tanto se puede reutilizar el mismo puerto. Puede ejecutar diferentes servidores una 127.0.0.1:8080y otra vez 192.168.0.1:8080, y si tiene más direcciones IP, incluso puede continuar con, por ejemplo: 192.168.0.2:8080y192.168.0.3:8080

información relacionada