«1. Введение
WildFly предлагает различные подходы к администрированию сервера. Наиболее привычный подход — использовать его веб-интерфейс, но мы можем использовать сценарии CLI или XML.
В этом руководстве мы сосредоточимся на доступе к веб-интерфейсу администрирования.
Мы предполагаем, что читатели уже понимают стандартный процесс установки WildFly.
2. Удаленный доступ
Веб-интерфейс или консоль — это приложение GWT, которое использует API управления HTTP WildFly для настройки автономного или управляемого доменом сервера. Этот API обслуживает два разных контекста:
-
Веб-интерфейс: http://\u003chost\u003e:9990/console Операции управления: http://\u003chost\u003e:9990/management
По умолчанию веб-консоль доступна только с локального хоста. Другими словами, наши файлы конфигурации содержат только локальные интерфейсы для взаимодействия с веб-консолью.
На жаргоне 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), состоящий из нескольких шагов:
- Type of user: Either management or application user
- Realm: The realm name used in the configuration, which is ManagementRealm by default
- Username: The new user’s username
- Password: The new user’s password
- Slave domain controller: A flag indicating whether the user will control slave domains processes in a distributed-domains architecture; it defaults to No
Также можно добавлять пользователей неинтерактивным способом, сделав использование того же скрипта и указание ввода в качестве параметров:
$ ./add-user.sh -u 'adminuser1' -p 'password1!'
добавляет управляющего пользователя «adminuser1» с паролем «password1!» в область по умолчанию.
4. Заключение
В этом кратком руководстве мы рассмотрели, как настроить WildFly, чтобы разрешить удаленный доступ к веб-консоли управления сервером. Кроме того, мы также увидели, как мы можем создавать пользователей, используя предоставленные WildFly скрипты.