Назад | Перейти на главную страницу

Невозможно получить доступ к jboss удаленно, несмотря на правильную привязку IP-адреса в файле standalone.xml

Я использую JBOSS EAP 7. Запускаю его командой

sh standalone.sh -b 0.0.0.0

Ниже приведена моя IP-конфигурация без явной привязки из командной строки.

 <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:0.0.0.0}"/>
        </interface>
    </interfaces>

Кроме того, я также изменил IP привязки в файле standalone.xml. Когда я запускаю его, он не показывает никаких ошибок. Я не использую fail2ban или какой-либо другой брандмауэр на своем сервере, и я использую порт 8050.

Чтобы убедиться, что мой сервер прослушивает этот порт, я выполнил следующую команду

sudo netstat -tlnp

с выходом:

tcp 0 0 0.0.0.0:8050  0.0.0.0:*   LISTEN      4670/java  

Чтобы подтвердить, что это jboss, я запустил

pgrep -f jboss

и получите тот же pid, т.е. 4670 в этом примере.

Проверил server.log и там тоже все нормально. Таким образом, я пришел к выводу, что JBOSS работает нормально на указанном порту с правильной привязкой (я дал IP 0.0.0.0, чтобы иметь возможность удаленного доступа из любого места). Но все же я не могу получить к нему доступ из браузера или клиента DHC. Что могло пойти не так?

Выполните следующие тесты, чтобы выяснить, в чем заключается ваша проблема и как ее решить:

  • Для общественный интерфейс, вы должны использовать IP-адрес вашего сервера. Я рекомендую вам использовать тег <any-address/> вместо IP-адреса.

Так что ваши standalone.xml должно выглядеть так:

<interfaces>
    <interface name="management">
       <inet-address value="127.0.0.1"/>
    </interface>
    <interface name="public">
       <any-address/>
    </interface>
</interfaces>
  • Приведенное выше решение, вероятно, должно решить вашу проблему. Но если это не так, используйте grep 127.0.0.1 в ваших файлах конфигурации, чтобы увидеть, есть ли что-то, что вы пропустили, чтобы изменить на 0.0.0.0 - например, grep -R 127.0.0.1 /opt/wildfly/*.

  • Если все в порядке, но вы не знаете, что вызывает проблему, проверьте, получены ли пакеты / запросы, вы можете использовать tcpdump чтобы проверить это.

Последняя возможная причина может заключаться в том, что ваш VPS-провайдер блокирует любые не широко используемые порты, поэтому вам потребуется связаться с ними. Чтобы убедиться, что вам следует обратиться к своему провайдеру, просто выполните следующий тест:

  • Поскольку в комментариях вы упомянули, что можете получить доступ к своей странице индекса Apache, остановите службу JBoss, измените порт apache с 80 на 8050, перезапустите веб-сервер и проверьте, видите ли вы по-прежнему свою страницу индекса Apache на 8050 или нет. - и поскольку вы упомянули в комментариях, что не можете получить доступ к своей индексной странице, пока apache не использует порт 80 по умолчанию, мы можем заключить следующее:

Заключение [по результатам сеанса чата]

По тесту мы сделали в чате, OP может получить доступ к странице индекса Apache, пока Apache настроен на порт 80, но не может получить доступ к нему через любой другой порт, кроме 80. Таким образом, мы можем сделать вывод, что провайдер фильтрует и блокирует порты, отличные от 80, 22 и т. д. OP должен связаться с провайдером VPS и попросить его разрешить порты, в которых он нуждается. И возникновение проблемы было связано с брандмауэром поставщика VPS, а не с какой-либо конфигурацией или настройкой, которую OP мог бы сделать.