JBoss WildFly: запускается, но не может подключиться?

Я только что настроил JBoss WildFly. Он работает, и он доступен с той же машины, все работает нормально...

моя проблема в том, что он недоступен из другой системы (я имею в виду, что в сети URL-адрес сервера (размещенной машины) не может получить доступ из другой системы).

Как я могу решить это?

5 ответов


по умолчанию привязка 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>

Ref:

обновление

От 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>
 ...

(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

правка стали:

<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, помните open port 9990) Например:

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

вы увидите он работает успешно.
Последняя ссылка (WildFly 10):https://docs.jboss.org/author/display/WFLY10/Interfaces + и + порты


не забудьте брандмауэр!

Если вы исправили адреса привязки и все еще не можете подключиться к JBoss, попробуйте обойти брандмауэр сервера.

чтобы остановить брандмауэр в Linux в RHEL используйте эту команду:

/etc/init.d/iptables stop

обновление (апрель 2018 года):

On RHEL7, где firewalld используется (а не iptables), вы можете использовать:

systemctl stop firewalld

или открыть конкретные порты Jboss/Wildfly (например, 8080/9990) с этими двумя командами:

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

вы можете использовать -B 0.0.0.0, чтобы разрешить доступ независимо от назначенного общедоступного ip-адреса, например, для компьютеров, получающих динамический IP-адрес (используя DHCP), я нахожу это удобным способом.

пользователи Eclipse: остерегайтесь, что в конфигурации сервера вход "имя хоста:" используется для установки аргумента программы "-b", переопределяя ваши изменения!