現在、プライマリサーバーを指しているIPとは異なるIPを使用して購入した静的IPアドレスを、サーバーのアプリケーションインスタンスにポイントする方法がわかります。
これは私を完全に混乱させました。私は2つの関連コマンドを知っていますが、IPが自分のローカルホストの特定のポートを指すように強制する方法がわかりません。私はそれがARPとルーティングだと思います。私は完全に間違っている可能性があります。
私が望むのは、異なるIPアドレスを別のJavaインスタンスに割り当てることです。
私もCentOS 5.9を使用しています。
ベストアンサー1
IPアドレスはポートやアプリケーションを指しません。これは(仮想)マシン、コンテナ、またはコンテキストを指します。
アプリケーションは、転送されたポートに応じてbind
コンピュータのすべてのIPアドレスをリッスンできるポートでリッスンすることも、単一のIPアドレスでリッスンすることもできます。したがって、最善の方法は、アプリケーションに正しいIPを使用してバインディングを呼び出すことです。例えば、異なるIPアドレスを受信する限り、ポート80で受信する2つの異なるプログラムを有することができる。多くのプログラムでは、リッスンするIPを指定することができ、時には10.0.0.1:1234
10.0.0.1がIPで、1234がポートである構文を使用します。 IPを省略すると、デフォルトはコンピュータのすべてのアドレスである0.0.0.0です。
アプリケーションがこれを実行できない場合(Goldilocksが暗示したように)、NATを使用して問題を解決できます。デフォルトでは、各アプリケーションは8080や8081などの異なるポートでリッスンします。次に、ポート80をリダイレクトするようにNATルールを設定します。
iptables -t nat -A PREROUTING -d 10.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 8080
iptables -t nat -A PREROUTING -d 10.0.0.2 -p tcp --dport 80 -j DNAT --to-destination 8081
もちろん、追加のファイアウォールルールを追加することで、ポート8080と8081への直接アクセスをブロックできます。
ipvsを使用してこれを行うこともできます。またはプロキシサーバー。他にもいくつかの方法があります。