Je viens de configurer JBoss WildFly. Il fonctionne et est accessible depuis la même machine, tout fonctionne bien ...
Mon problème est qu'il n'est pas accessible depuis un autre système (je veux dire dans un réseau, l'URL du serveur (ordinateur hébergé) ne peut pas accéder depuis un autre système).
Comment puis-je résoudre ça?
Par défaut, jboss/wildfly liant à localhost, si vous voulez changer cela, vous pouvez exécuter:
standalone.sh -b 0.0.0.0
ecoute sur toutes les adresses IP de la machine (si multi-hôtes)
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>
Ref:
METTRE &AGRAVE; JOUR
De Wildfly 8, <any-ipv4-address/>
était obsolète et supprimez-le dans Wildfly 9, puis, si vous utilisez 9.x ou une version plus récente, utilisez <any-address/>
.
Obsolète En l'absence de
-Djava.net.preferIPv4Stack=true
, le fichier JVM ne peut pas être invité à lier un socket à toutes les adresses IPv4, mais uniquement aux adresses IPv4, de sorte que la sémantique souhaitée ne peut pas être obtenue. via ce paramètre seul. Depuis l'utilisation deany-addressType
et le réglage-Djava.net.preferIPv4Stack=true
fournit le même effet, thisany-ipv4-addressType
sera supprimé dans une prochaine version.
Par exemple:
<interface name="global">
<!-- Use the wildcard address -->
<any-address/>
</interface>
Le <any-ipv4-address/>
est obsolète dans WF 9, utilisez:
...
<interface name="management">
<any-address/>
</interface>
...
(J'ai résumé 2 réponses pour une solution de travail) J'utilise WildFly 10.0.0.Final - la dernière version au moment de l'écriture. Recherchez le fichier standalone.xml
comme ceci:
Sous 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 devenir à:
<interfaces>
<interface name="management">
<!-- Allow all external IP -->
<any-address/>
</interface>
<interface name="public">
<!-- Allow all external IP -->
<any-address/>
</interface>
</interfaces>
Ensuite aller à:
http://your_domain:9990/error/index.html
(le port 9990
est le port HTTP par défaut. Si vous utilisez un pare-feu ou iptables, n'oubliez pas d'ouvrir le port 9990
) Par exemple:
http://vyhn.net:9990/error/index.html
Vous verrez que cela fonctionne avec succès.
Dernière référence (WildFly 10): https://docs.jboss.org/author/display/WFLY10/Interfaces+and+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 sous LinuxRHEL, utilisez cette commande:
/etc/init.d/iptables stop
Une mise à jour (avril 2018):
Sur RHEL7 , où firewalld est utilisé (plutôt que iptables), vous pouvez utiliser:
systemctl stop firewalld
ou ouvrez les 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'adresse IP publique attribuée, par exemple. pour les ordinateurs obtenant une adresse IP dynamique (avec DHCP), je trouve cela pratique.
Utilisateurs d'Eclipse : Attention, dans la configuration du serveur, l'entrée "Nom de l'hôte:" sert à définir l'argument de programme "-b", en ignorant vos modifications!