JBOSS EAP7を使用しています。コマンドを使用して開始します
sh standalone.sh -b 0.0.0.0
以下は、コマンドラインから明示的にバインドしていない場合のIP構成です。
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
</interfaces>
これとは別に、standalone.xmlファイルのバインディングIPも変更しました。起動してもエラーは表示されません。サーバーでfail2banまたはその他の種類のファイアウォールを使用しておらず、ポート8050を使用しています。
サーバーがそのポートでリッスンしているかどうかを確認するために、次のコマンドを実行しました
Sudo netstat -tlnp
出力付き:
tcp 0 0 0.0.0.0:8050 0.0.0.0:* LISTEN 4670/Java
これがjbossであることを確認するために、実行しました
pgrep -f jboss
同じpid、つまりこの例では4670を取得します。
Server.logを確認しましたが、すべて正常です。したがって、私の結論は、JBOSSは適切なバインディングで前述のポートで正常に実行されているということです(どこからでもリモートアクセスできるように0.0.0.0 IPを指定しました)。それでもブラウザやDHCクライアントからはアクセスできません。何がうまくいかなかったのでしょうか?
次のテストを実行して、問題とその解決方法を確認してください。
<any-address/>
を使用することをお勧めします。したがって、standalone.xml
は次のようになります。
<interfaces>
<interface name="management">
<inet-address value="127.0.0.1"/>
</interface>
<interface name="public">
<any-address/>
</interface>
</interfaces>
上記の解決策はおそらくあなたの問題を解決するはずです。ただし、そうでない場合は、構成ファイルでgrep 127.0.0.1
を使用して、0.0.0.0
に変更するのに見逃したものがないかどうかを確認します。 grep -R 127.0.0.1 /opt/wildfly/*
。
すべてが正常で、問題の原因がわからない場合は、パケット/リクエストが受信されているかどうかを確認してください。tcpdump
を使用して確認できます。
最後に考えられる理由は、VPSプロバイダーが世界中で使用されていないポートをブロックしているため、それらに連絡する必要があることです。プロバイダーに連絡する必要があるかどうかを確認するには、次のテストを実行します。
私たちが行ったテストによると チャットセッションで 、Apacheがポート80に設定されている間、OPはApacheインデックスページにアクセスできますが、80以外の他のポートではアクセスできません。したがって、プロバイダーは、80、22など以外のポートをフィルタリングおよびブロックしています。したがって、OPはVPSプロバイダーに連絡して、必要なポートを許可するように依頼する必要があります。また、問題の発生はVPSプロバイダーのファイアウォールが原因であり、OPが行った構成や設定ではありませんでした。