Kann ich den gleichen Port auf 127.0.0.1 und 192.168.xx verwenden?

Kann ich den gleichen Port auf 127.0.0.1 und 192.168.xx verwenden?

Ich verstehe nicht ganz, wie sich localhost auf die private IP bezieht, die jedem Rechner zugewiesen wird.

Wenn ich einen Server auf localhost:8080 betreibe, kann ich dann etwas anderes auf 192.168.xx:8080 ausführen?

Genauer gesagt: Wenn ich einen Python-Waitress-Server auf localhost:8080 betreibe und NGINX als Reverse-Proxy verwende, kann ich NGINX dann auf Port 8080 lauschen lassen?

Antwort1

Wenn ich einen Server auf localhost:8080 betreibe, kann ich dann etwas anderes auf 192.168.xx:8080 ausführen?

Ja, es können verschiedene Listening-Sockets auf demselben Port vorhanden sein, solange sie an unterschiedliche lokale Adressen gebunden sind (d. h. die Sockets werden entsprechend der Adresse:Port-Kombinationen verfolgt).

(Vermeiden Sie jedoch das Mischen bestimmter address:portListener mit der „beliebigen Adresse“ 0.0.0.0:portoder [::]:portdem Listener. Normalerweise ist das auch erlaubt, unterliegt aber strengeren Anforderungen. Ich glaube beispielsweise, dass Linux dies nicht erlaubt, wenn die beiden Programme unterschiedliche UIDs haben.)

Ich verstehe nicht ganz, wie sich localhost auf die private IP bezieht, die jedem Rechner zugewiesen wird.

Das ist nicht der Fall. Der Name „localhost“ wird ausschließlich in die Adressen 127.0.0.1 und [::1] aufgelöst, sonst nichts. Er verwendet niemals Ihre tatsächlichen LAN-Adressen.

Antwort2

localhostlässt sich mit übersetzen 127.0.0.1, daher sind localhost:8080und 127.0.0.1:8080dasselbe.

192.168.x.xist eine andere IP-Adresse, daher kann der gleiche Port wiederverwendet werden. Sie können verschiedene Server weiter 127.0.0.1:8080und weiter ausführen 192.168.0.1:8080, und wenn Sie mehrere IP-Adressen haben, können Sie sogar weitermachen mit zB: 192.168.0.2:8080und192.168.0.3:8080

verwandte Informationen