2014-11-13 5 views
29

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

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

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

ответ

44

По умолчанию JBoss/wildfly привязки к локальному, если вы хотите изменить, вы можете выполнить:

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:

UPDATE

От Wildfly 8 <any-ipv4-address/> был deprecated и удалить в 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

Спасибо! Для standalone.xml в Wildfly 9.0.1 его: Joand

+0

Это больше не работает для Wildfly 9.0.2+. См. Ответ @bkomac ниже –

+0

отличное обновление, любой адрес был именно тем, что мне нужно. – keni

17

<any-ipv4-address/> осуждается в WF 9, использование:

... 
    <interface name="management"> 
     <any-address/> 
    </interface> 
... 
+2

А так как 9.0.2 '' выдает ошибку при запуске wildfly ...: -o – Steffen

+1

также работает для WildFly v10.1.0.Final – grajsek

4

(резюме я 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, помните открытый порт 9990) Например:

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

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

1

Не забывайте о брандмауэре!

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

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

/etc/init.d/iptables stop 

обновление:

На RHEL7, где не установлен Iptables - вы можете использовать:

systemctl stop firewalld 
0

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

Пользователи Eclipse: Остерегайтесь того, что в настройке сервера вход «Host name:» используется для установки аргумента программы «-b», переопределяя ваши изменения!