Перейти к основному содержимому

Удаленный доступ к администрированию WildFly

· 3 мин. чтения

1. Введение

WildFly предлагает различные подходы к администрированию серверов. Наиболее привычный подход — использовать его веб-интерфейс, но мы можем использовать сценарии CLI или XML.

В этом руководстве мы сосредоточимся на доступе к веб-интерфейсу администрирования.

Мы предполагаем, что читатели уже понимают стандартный процесс установки WildFly .

2. Удаленный доступ

Веб-интерфейс или консоль — это приложение GWT, которое использует API-интерфейс WildFly для управления HTTP для настройки автономного или управляемого доменом сервера . Этот API обслуживает два разных контекста:

По умолчанию веб-консоль доступна только с локального хоста . Другими словами, наши файлы конфигурации содержат только локальные интерфейсы для взаимодействия с веб-консолью.

На жаргоне WildFly интерфейс состоит из сетевого интерфейса с критериями выбора. В большинстве случаев критерием выбора является IP-адрес, привязанный к интерфейсу. Локальный интерфейс объявляется следующим образом:

<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<!--127.0.0.1 is the localhost IP address. -->

В результате этот локальный менеджер подключен к прослушивателю сокетов management-http, получающему соединения для веб-консоли с порта 9000 :

<socket-binding-group name="standard-sockets" default-interface="public" 
port-offset="${jboss.socket.binding.port-offset:0}">
<socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
<socket-binding name="http" port="${jboss.http.port:8080}"/>
<socket-binding name="https" port="${jboss.https.port:8443}"/>
<socket-binding name="management-http" interface="management"
port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="management"
port="${jboss.management.https.port:9993}"/>
<socket-binding name="txn-recovery-environment" port="4712"/>
<socket-binding name="txn-status-manager" port="4713"/>
<outbound-socket-binding name="mail-smtp">
<remote-destination host="localhost" port="25"/>
</outbound-socket-binding>
</socket-binding-group>

Чтобы разрешить доступ с удаленной машины, нам сначала нужно создать интерфейс удаленного управления в соответствующем файле конфигурации. Если мы настраиваем автономный сервер, мы изменим standalone/configuration/standalone.xml , а для управляемого доменом изменим domain/configuration/host.xml :

<interface name="remoteManagement">
<inet-address value="${jboss.bind.address.management:REMOTE_HOST_IP}"/>
</interface>
<!--REMOTE_HOST_IP is the remote host IP address. (e.g 192.168.1.2) -->

Мы также должны изменить привязку сокета management - http , чтобы удалить предыдущий локальный интерфейс и добавить новый:

<socket-binding-group name="standard-sockets" default-interface="public" 
port-offset="${jboss.socket.binding.port-offset:0}">
<!-- same as before -->
<socket-binding name="management-http" interface="remoteManagement"
port="${jboss.management.http.port:9990}"/>
<socket-binding name="management-https" interface="remoteManagement"
port="${jboss.management.https.port:9993}"/>
<!-- same as before -->
</socket-binding-group>

В приведенной выше конфигурации мы привязываем новый интерфейс remoteManagement к нашим портам HTTP (9990) и HTTPS (9993). Это позволит IP-адресу удаленного хоста подключаться к веб-интерфейсу через порты HTTP/HTTPS.

3. Аутентификация

WildFly по умолчанию защищает все удаленные соединения. Механизм безопасности по умолчанию — это имя пользователя/пароль через дайджест-аутентификацию HTTP.

Но если мы попытаемся подключиться к консоли администратора до того, как добавим пользователя на сервер, нам не будет предложено всплывающее окно входа в систему .

Для создания пользователей WildFly предоставляет интерактивный скрипт add-user.sh ( add-user.bat на платформах Windows), состоящий из нескольких шагов:

  1. Тип пользователя : пользователь управления или приложения .
  2. Realm : имя области, используемое в конфигурации, по умолчанию это ManagementRealm .
  3. Имя пользователя : имя пользователя нового пользователя.
  4. Пароль : пароль нового пользователя
  5. Контроллер подчиненного домена : флаг, указывающий, будет ли пользователь управлять процессами подчиненных доменов в архитектуре распределенных доменов; по умолчанию нет

Также можно добавлять пользователей неинтерактивным способом, используя тот же скрипт и указав ввод в качестве параметров:

$ ./add-user.sh -u 'adminuser1' -p 'password1!'

добавляет пользователя управления «adminuser1 » с паролем «password1!» в область по умолчанию.

4. Вывод

В этом кратком руководстве мы рассмотрели, как настроить WildFly, чтобы разрешить удаленный доступ к веб-консоли управления сервером. Кроме того, мы также увидели, как мы можем создавать пользователей, используя предоставленные WildFly скрипты.