
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
リスナーを混在させないでください。通常、これも許可されますが、より厳しい要件があります。たとえば、2 つのプログラムの UID が異なる場合、Linux ではこれが許可されないと思います。)
localhost が各マシンに割り当てられたプライベート IP とどのように関係するかがよくわかりません。
そうではありません。「localhost」という名前は、アドレス 127.0.0.1 と [::1] のみに解決されます。それ以外のアドレスは解決されません。実際の LAN アドレスは使用されません。
答え2
localhost
は と翻訳される127.0.0.1
ので、localhost:8080
と は127.0.0.1:8080
同じものです。
192.168.x.x
は異なるIPアドレスなので、同じポートを再利用できます。 で異なるサーバーを実行できます。127.0.0.1:8080
さらに192.168.0.1:8080
IPアドレスがある場合は、次のように続けることもできます192.168.0.2:8080
。192.168.0.3:8080