JBoss WildFly: Начинается, но не удается подключиться?
Я только что настроил JBoss WildFly. Он работает и доступен с одной машины, все работает нормально...
Моя проблема в том, что она недоступна из другой системы (я имею в виду, что в сети, сервер (хост-компьютер) URL-адрес не может получить доступ из другой системы).
Как я могу это решить?
Ответы
Ответ 1
По умолчанию привязка jboss/wildfly к localhost, если вы хотите изменить это, вы можете выполнить:
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>
Ответ 2
<any-ipv4-address/>
устарел в WF 9, используйте:
...
<interface name="management">
<any-address/>
</interface>
...
Ответ 3
(I резюме 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
edit: to:
<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
Ответ 4
Не забывайте о брандмауэре!
Если вы исправили адреса привязки и до сих пор не можете подключиться к JBoss, попробуйте работать с брандмауэром сервера.
Чтобы остановить брандмауэр в Linux RHEL, используйте следующую команду:
/etc/init.d/iptables stop
обновление:
В RHEL7, где iptables не установлен - вы можете использовать:
systemctl stop firewalld
Ответ 5
Вы можете использовать -b 0.0.0.0, чтобы разрешить доступ, независимо от назначенного публичного ip, например. для компьютеров, получающих динамический IP (с использованием DHCP), я считаю это удобным способом.
Пользователи Eclipse. Остерегайтесь того, что в конфигурации сервера вход "Имя хоста:" используется для установки аргумента программы "-b", переопределяя ваши изменения!