JBoss WildFlyを設定しました。それは実行されており、同じマシンからアクセスでき、すべてが正常に動作しています...
私の問題は、別のシステムからアクセスできないことです(ネットワークでは、サーバー(ホストされたマシン)URLは別のシステムからアクセスできません)。
どうすれば解決できますか?
デフォルトでは、localhostへのjboss/wildflyバインディングを変更します。これを変更する場合は、次を実行できます。
standalone.sh -b 0.0.0.0
マシンのすべてのIPアドレスでリッスンします(マルチホームの場合)
別の代替方法は、standalone.xml
インターフェイスセクションで構成することです。
変化する:
<interfaces>
<interface name="management">
<inet-address value="127.0.0.1"/>
</interface>
<interface name="public">
<inet-address value="127.0.0.1"/>
</interface>
</interfaces>
に:
<interfaces>
<interface name="management">
<!-- Use the IPv4 wildcard address -->
<any-ipv4-address/>
</interface>
<interface name="public">
<!-- Use the IPv4 wildcard address -->
<any-ipv4-address/>
</interface>
</interfaces>
参照:
[〜#〜] update [〜#〜]
Wildfly 8から<any-ipv4-address/>
は 非推奨 で、Wildfly 9で削除した場合、9.x以降の場合は<any-address/>
を使用します。
非推奨。
-Djava.net.preferIPv4Stack=true
がない場合、JVMにソケットをすべてのIPv4アドレスにバインドするように指示することはできませんが、IPv4アドレスにのみバインドするため、この設定だけでは目的のセマンティクスを取得できません。any-addressType
を使用して-Djava.net.preferIPv4Stack=true
を設定すると同じ効果が得られるため、このany-ipv4-addressType
は将来のリリースで削除される予定です。
例えば:
<interface name="global">
<!-- Use the wildcard address -->
<any-address/>
</interface>
<any-ipv4-address/>
は、WF 9、使用:
...
<interface name="management">
<any-address/>
</interface>
...
(私は作業ソリューションの要約2つの回答)私はWildFly 10.0.0.Finalを使用しています-執筆時点での最新バージョン。ファイルを探しますstandalone.xml
このような:
Windowsの場合
C:\tools\wildfly-10.0.0.Final\standalone\configuration\standalone.xml
または、Linuxの場合:
/home/vyhn.net/wildfly-servlet-10.0.0.Final/standalone/configuration/standalone.xml
編集は次のようになります:
<interfaces>
<interface name="management">
<!-- Allow all external IP -->
<any-address/>
</interface>
<interface name="public">
<!-- Allow all external IP -->
<any-address/>
</interface>
</interfaces>
次に移動します:
http://your_domain:9990/error/index.html
(港 9990
はデフォルトのHTTPポートです。ファイアウォールまたはiptablesを使用する場合は、開いているポート9990
) 例えば:
http://vyhn.net:9990/error/index.html
正常に動作することがわかります。
最新のリファレンス(WildFly 10): https://docs.jboss.org/author/display/WFLY10/Interfaces+and+ports
ファイアウォールを忘れないでください!
バインディングアドレスを修正してもJBossに接続できない場合は、サーバーのファイアウォールを回避してみてください。
Linuxでファイアウォールを停止するには[〜#〜] rhel [〜#〜]このコマンドを使用します。
/etc/init.d/iptables stop
更新(2018年4月):
RHEL7では、firewalldが(iptablesではなく)使用されます。
systemctl stop firewalld
または、次の2つのコマンドで特定のJboss/Wildflyポート(8080/9990など)を開きます。
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
-b 0.0.0.0を使用して、割り当てられたパブリックIPに関係なくアクセスを許可できます。 (DHCPを使用して)動的IPを取得するコンピューターの場合、これは便利な方法です。
Eclipseユーザー:サーバー構成では、「ホスト名:」入力を使用して「-b」プログラム引数を設定し、変更をオーバーライドすることに注意してください。