wake-up-neo.com

JBoss WildFly: Startet aber keine Verbindung?

Ich habe gerade JBoss WildFly konfiguriert. Es läuft und ist von derselben Maschine aus erreichbar, alles funktioniert gut ...

Mein Problem ist, dass nicht von einem anderen System aus darauf zugegriffen werden kann (ich meine, in einem Netzwerk kann die Server-URL (Hosted Machine) nicht von einem anderen System aus zugreifen).

Wie kann ich das lösen?

33
user_vs

Wenn Sie dies ändern möchten, können Sie standardmäßig die Bindung von jboss/wildfly an localhost ausführen:

standalone.sh -b 0.0.0.0

alle IP-Adressen des Rechners abhören (falls mehrfach)

Eine andere Alternative ist das Konfigurieren in standalone.xml des Schnittstellenbereichs.

Veränderung: 

<interfaces>
  <interface name="management">
   <inet-address value="127.0.0.1"/>
  </interface>
  <interface name="public">
   <inet-address value="127.0.0.1"/>
  </interface>
</interfaces>

zu:

<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>

Ref: 

UPDATE

Von Wildfly 8 wurde <any-ipv4-address/>veraltet und in Wildfly 9 entfernt. Wenn Sie sich in Version 9.x oder höher befinden, verwenden Sie <any-address/>.

Veraltet Wenn -Djava.net.preferIPv4Stack=true fehlt, wird der Die JVM kann nicht angewiesen werden, einen Socket an alle IPv4-Adressen zu binden, jedoch nur an IPv4-Adressen, daher kann die beabsichtigte Semantik nicht abgerufen werden allein über diese Einstellung. Seit any-addressType und Einstellung -Djava.net.preferIPv4Stack=true bietet den gleichen Effekt, dies any-ipv4-addressType wird in einer zukünftigen Version entfernt.

Z.B:

<interface name="global">
   <!-- Use the wildcard address -->
   <any-address/>
</interface>
54
Federico Sierra

Der <any-ipv4-address/> ist in WF 9 veraltet. Verwenden Sie:

 ...   
    <interface name="management">
       <any-address/>
    </interface>
 ...
19
bkomac

(Ich fasse 2 Antworten für eine funktionierende Lösung zusammen.) Ich verwende WildFly 10.0.0.Final - letzte Version zum Zeitpunkt des Schreibens. Suchen Sie nach der Datei standalone.xml wie folgt:

.__ Unter Windows

C:\tools\wildfly-10.0.0.Final\standalone\configuration\standalone.xml

Oder Linux wie folgt:

/home/vyhn.net/wildfly-servlet-10.0.0.Final/standalone/configuration/standalone.xml

bearbeiten werden zu:

<interfaces>
    <interface name="management">
        <!-- Allow all external IP -->
        <any-address/>
    </interface>
    <interface name="public">
        <!-- Allow all external IP -->
    <any-address/>
    </interface>
</interfaces>

Dann geh zu:

http://your_domain:9990/error/index.html

(Port 9990 ist der Standard-HTTP-Port. Wenn Sie eine Firewall oder iptables verwenden, beachten Sie den offenen Port 9990) Beispiel: 

http://vyhn.net:9990/error/index.html

Sie werden sehen, dass es erfolgreich funktioniert.
Letzte Referenz (WildFly 10): https://docs.jboss.org/author/display/WFLY10/Interfaces+and+ports

4
foobarfuu

Vergiss die Firewall nicht!

Wenn Sie die Bindungsadressen behoben haben und immer noch keine Verbindung zu JBoss herstellen können, versuchen Sie, die Firewall des Servers zu umgehen. 

Zum Stoppen der Firewall unter LinuxRHELverwenden Sie diesen Befehl:

/etc/init.d/iptables stop

Ein Update (April 2018):

Bei RHEL7 , wo firewalld verwendet wird (anstelle von iptables), können Sie Folgendes verwenden:

systemctl stop firewalld

oder öffnen Sie die spezifischen Jboss/Wildfly-Ports (z. B. 8080/9990) mit diesen beiden Befehlen:

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
2
Naor Bar

Sie können -b 0.0.0.0 verwenden, um den Zugriff unabhängig von der zugewiesenen öffentlichen IP zuzulassen, z. Für Computer, die dynamische IP-Adressen (mit DHCP) erhalten, finde ich dies ein bequemer Weg.

Eclipse-Benutzer : Beachten Sie, dass in der Serverkonfiguration die Eingabe "Hostname:" verwendet wird, um das Programmargument "-b" festzulegen. Dadurch werden Ihre Änderungen überschrieben!