JBoss AS 7 не принимает удаленные подключения
Я использую JBoss AS 7 и пытаюсь подключиться к своему приложению с использованием IP (с компьютера в интрасети). Это не работает. Если я тестирую компьютер, на котором есть сервер, я вижу, что система работает, если я перехожу через localhost (http://localhost: 8080/MySystem....), но нет. Если я попробую с IP (http://: 8080/MySystem....).
Любая помощь?
Ответы
Ответ 1
Ответ заключается в том, чтобы отредактировать standalone.xml и вставить тег any-address вместо inet-address, привязанного к 127.0.0.1
<interfaces>
<interface name="management">
<inet-address value="127.0.0.1"/>
</interface>
<interface name="public">
<any-ipv4-address/>
</interface>
</interfaces>
Ответ 2
Я изменил 127.0.0.1 (localhost) на 0.0.0.0 в standalone.xml. Оно работает. Просто знайте о безопасности.
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
<!-- TODO - only show this if the jacorb subsystem is added -->
<interface name="unsecure">
<!--
~ Used for IIOP sockets in the standard configuration.
~ To secure JacORB you need to setup SSL
-->
<inet-address value="${jboss.bind.address.unsecure:0.0.0.0}"/>
</interface>
</interfaces>
Ответ 3
Вы настроили IP-адрес в файле конфигурации?
Запуск jboss без настройки ip-адреса установит адрес по умолчанию для jboss на localhost, который подходит для разработки или, возможно, для производственного сервера, где apache используется как прокси-сервер для jboss и находится на той же машине.
Чтобы установить IP-адрес для JBoss:
To a specific IP address
run.sh -b 10.62.31.31
To localhost or the IP address assigned to the server
run.sh -b 0.0.0.0
Вы также можете изменить его в файле конфигурации в разделе <interfaces>
.
Ответ 4
Не забывайте о брандмауэре!
Если вы исправили адреса привязки и до сих пор не можете подключиться к JBoss, попробуйте работать с брандмауэром сервера.
Чтобы остановить брандмауэр в Linux RHEL, используйте следующую команду:
/etc/init.d/iptables stop
обновление:
На RHEL7, где iptables не установлен - вы можете использовать:
systemctl stop firewalld