JBoss WildFly: commence mais ne peut pas se connecter?
je viens de configurer JBoss WildFly. Il fonctionne et il est accessible depuis la même machine, tout fonctionne très bien...
mon problème est qu'il n'est pas accessible à partir d'un autre système (je veux dire dans un réseau, L'URL du serveur (Machine hébergée) ne peut pas accéder à partir d'un autre système).
comment résoudre ce problème?
5 réponses
Par défaut jboss/wildfly de liaison à localhost, si vous voulez changer cela, vous pouvez exécuter la commande:
standalone.sh -b 0.0.0.0
écouter sur toutes les adresses IP de la machine (si multirésident)
une autre alternative est de configurer dans standalone.xml
la section interfaces.
changement:
<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>
Réf:
UPDATE
À Partir De Wildfly 8 <any-ipv4-address/>
deprecated et supprimer dans Wildfly 9, alors si vous êtes dans 9.x ou plus utiliser <any-address/>
.
déprécié. En l'absence de
-Djava.net.preferIPv4Stack=true
, le JVM ne peut pas être chargé de lier une socket à toutes les adresses IPv4, mais seulement aux adresses IPv4, de sorte que la sémantique prévue ne peut pas être obtenu par l'intermédiaire de ce paramètre. Depuis l'utilisation deany-addressType
et le réglage-Djava.net.preferIPv4Stack=true
donne le même effet, ceany-ipv4-addressType
sera supprimé dans une version ultérieure.
par exemple:
<interface name="global">
<!-- Use the wildcard address -->
<any-address/>
</interface>
<any-ipv4-address/>
est obsolète dans WF 9, utilisez:
...
<interface name="management">
<any-address/>
</interface>
...
(I résumé 2 réponses pour une solution de travail)
J'utilise WildFly 10.0.0.Version finale-la plus récente au moment de l'écriture. Recherchez le fichier standalone.xml
comme ceci:
Sur Windows
C:\tools\wildfly-10.0.0.Final\standalone\configuration\standalone.xml
Ou Linux, comme ceci:
/home/vyhn.net/wildfly-servlet-10.0.0.Final/standalone/configuration/standalone.xml
modifier le devenir:
<interfaces>
<interface name="management">
<!-- Allow all external IP -->
<any-address/>
</interface>
<interface name="public">
<!-- Allow all external IP -->
<any-address/>
</interface>
</interfaces>
puis allez à:
http://your_domain:9990/error/index.html
(port 9990
est le port HTTP par défaut, si vous utilisez le pare-feu ou iptables, n'oubliez pas le port ouvert 9990
)
Exemple:
http://vyhn.net:9990/error/index.html
Vous verrez qu'il fonctionne de succès.
Dernière référence (WildFly 10):https://docs.jboss.org/author/display/WFLY10/Interfaces + et + ports
N'oubliez pas le pare-feu!
si vous avez corrigé les adresses de liaison et que vous ne pouvez toujours pas vous connecter à JBoss, essayez de contourner le pare-feu du serveur.
pour arrêter le pare-feu sur Linux RHEL utilisez cette commande:
/etc/init.d/iptables stop
une mise à jour (avril 2018):
RHEL7, où firewalld est utilisé (plutôt que iptables), vous pouvez utiliser:
systemctl stop firewalld
ou ouvrir la ports JBoss/Wildfly spécifiques (par exemple 8080/9990) avec ces deux commandes:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
vous pouvez utiliser-b 0.0.0.0 pour autoriser l'accès indépendamment de l'ip publique assignée, par exemple pour les ordinateurs obtenant l'IP dynamique (en utilisant DHCP), je trouve que c'est un moyen pratique.
utilisateurs D'Eclipse: attention: dans la configuration du serveur, l'entrée" Nom D'hôte: "est utilisée pour définir l'argument du programme"- b", annulant vos modifications!