вторник, 26 февраля 2013 г.

Включение административного канала на сервере приложений WebLogic

Сервер приложений Oracle WebLogic позволяет включить специальный защищенный сетевой канал для доступа администратора к запущенным экземплярам. Трафик по данному каналу имеет приоритет перед обычными запросами, обрабатываемыми сервером, поэтому даже, если все сервера домена будут находиться под высокой нагрузкой, администратор сможет выполнять свои задачи. Помимо этого административный канал можно применять для тестирования приложений. Так же следует отметить, что взаимодействие управляемых серверов и сервера администрирования так же осуществляется по административному каналу.

Перед включением административного канала необходимо настроить SSL для всех серверов домена. Рассмотрим настройку SSL с использованием сгенерированного самоподписанного сертификата.



Настройка SSL


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

> keytool -genkey -alias samolisovServerKey -keyalg "RSA" -sigalg "SHA1withRSA" 
-dname "CN=samolisov,C=RU" -keypass welcome -keystore 
C:\oracle\user_projects\domains\demo_domain\config\serverKey.jks 
-storepass welcome

Теперь нам необходимо создать хранилище доверенных сертификатов. Прежде всего в данном хранилище должен находится сертификат, сгенерированный на предыдущем шаге. Если данный сертификат не поместить в хранилище доверенных сертификатов, то возможна парадоксальная ситуация, когда сервер приложений не сможет доверять сам себе. Чревато это тем, что управляемые сервера не смогут соединиться с сервером администрирования по защищенному каналу.

Экспортируем сгенерированный сертификат с помощью утилиты keytool.

> keytool -exportcert -v -alias samolisovServerKey -keystore 
C:/oracle/user_projects/domains/demo_domain/config/serverKey.jks 
-storepass welcome -rfc -file C:/oracle/serverKey.cer

А теперь полученный файл импортируем в новое хранилище. В хранилище будет создана запись типа trustedCertEntry, которая будет использоваться как элемент trustStore - доверенный сертификат.

> keytool -importcert -alias clientKey -file C:/oracle/serverKey.cer 
-keystore C:/oracle/user_projects/domains/demo_domain/config/clientKey.jks 
-storepass welcome

В итоге после использования утилиты keytool у нас есть два хранилища ключей и сертификатов: serverKey.jks и clientKey.jks. Оба файла расположены в подкаталоге config корневого каталога домена. Теперь необходимо настроить каждый сервер домена на использование данных файлов. Делается это на вкладке Configuration -> Keystores соответствующего сервера. В качестве значения параметра Keystores необходимо указать Custom Identity and Custom Trust, в качестве значения параметра Custom Identity Keystore - путь к файлу serverKey.jks, в качестве значения параметра Custom Identity Keystore Type - JKS, в качестве значения параметров Custom Identity Keystore Passphrase и Confirm Custom Identity Keystore Passphrase - пароль к хранилищу serverKey.jks. Аналогичные настройки необходимо сделать для группы параметров Trust, только в качестве хранилища необходимо использовать clientKey.jks.



Теперь необходимо настроить непосредственно SSL. Делается это на вкладке Configuration -> SSL соответствующего сервера. В качестве значения параметра Identity and Trust Locations необходимо оставить значение по-умолчанию - Keystores, а в группе параметров Identity указать доступ к приватному ключу: алиас и пароль.



После изменения настроек SSL необходимо перегрузить сервера домена.

Включение административного канала


Включение административного канала производится на вкладке Configuration -> General домена. Необходимо отметить галочку Enable Administration Port и в случае необходимости явно указать порт администрирования - значение параметра Administration Port. В качестве значения по-умолчанию используется номер порта 9002.



Порт администрирования будет задействован сразу же после внесения описанных изменений. Использование консоли управления по обычному адресу сервера станет невозможным, необходимо обращаться к ней по порту администрирования и протоколу SSL.



У каждого сервера домена можно настроить параметр Local Administration Port Override, указав в качестве его значения локальный для сервера порт администрирования. В случае, если несколько экземпляров сервера приложений WebLogic должны работать на одной машине и быть доступными по одному и тому же IP-адресу, им необходимо указать разное значение данного параметра. В противном случае при запуске одного из серверов произойдет ошибка JVM_Bind - он не сможет занять уже занятый другим экземпляром порт.

Важно! Если планируется использовать административный канал для тестирования приложений, запущенных в административном режиме, то необходимо иметь хотя бы один сервер в домене, для которого значение параметра Local Administration Port Override совпадает со значением параметра Administration Port домена. Дело в том, что приложения, запущенные в административном режиме, доступны только по административному порту домена. По Local Administration Port Override портам данные приложения недоступны.

Напоследок необходимо изменить параметры запуска управляемых серверов, указав значение параметра JVM -Dweblogic.management.server=https://ADMIN_SERVER_HOST:ADMIN_PORT.



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



Ресурсы



Понравилось сообщение - подпишитесь на блог и Twitter

Комментариев нет:

Отправить комментарий

Любой Ваш комментарий важен для меня, однако, помните, что действует предмодерация. Давайте уважать друг друга!