JBoss Hostname Binding を理解している人の助けが必要です。説明が複雑ですが、解決策は簡単だと思います。
JBoss (v4.2) を使用してアプリケーションをデプロイしていますが、アプリケーションの構成に問題があります。
このアプリケーションには、ポート 8080 の Web サイトと、SOAP API を使用するポート 8080 の Web サービスの 2 つの部分があります。
私のサーバーはファイアウォールの背後にあり、エイリアスがあります。たとえば、オレンジ色の.mycompany.comと呼びます。
私の問題は、コンソールを Web サービスに接続できないことです。Web サイトは機能しますが、Web サービスへの接続で接続拒否エラーが表示されます。
[xfire.transport.http.HttpChannel] java.net.ConnectException: 接続が拒否されました
私が制御できるのは、Tomcat のバインド IP と Web サービスの URL の 2 つです。
JBoss を起動し、ローカル IP アドレスにバインドすると、次のようになります。
./run.sh -b 10.1.2.3
そして、Web サービスの URL を同じ IP に設定しました
url=http://10.1.2.3:8080/services
ファイアウォールの外側からポート 8080 で Web サイトを見ることができますが、コンソールは Web サービスに接続できません。サーバー、オレンジ自体からhttp://localhost:8080/またはhttp://10.1.2.3:8080または orange.mycompany.com:8080を呼び出しても、Web サイトを表示できません。
ただし、JBoss を起動して 127.0.0.1 にバインドすると、次のようになります。
./run.sh -b 127.0.0.1
そして、Web サービスの URL を localhost に設定します。
url=http://localhost:8080/services
これで、ファイアウォールの外側から Web サイトをまったく見ることができなくなりました。しかし、サーバー自体から、Web サイトがhttp://localhost:8080をブラウズしていることを確認でき、Web サービスに正常に接続できます。それは素晴らしいことですが、外部からアクセスできるようにする必要があります。
Web サイトを閲覧し、コンソールが localhost で Web サービスを呼び出せるようにする設定の組み合わせを提案できる人はいますか?