...
Способы запуска/остановки
Действие | Команда | Ответ | ||||
---|---|---|---|---|---|---|
Проверка состояния | service eltex-portal-cnstructor status | Сервис запущен
Cервис не запущен
| ||||
Запуск сервиса | service eltex-portal-cnstructor start | Сервис успешно запущен
| ||||
Остановка сервиса | service eltex-portal-cnstructor stop | Сервис успешно остановлен
| ||||
Перезапуск сервиса | service eltex-portal-cnstructor restart | Сервис успешно перезапущен
|
Конфигурация
...
/etc/eltex-portal-constructor/application.conf
...
Блок кода | ||||||
---|---|---|---|---|---|---|
| ||||||
auth-service { host = localhost port = 21812 timeout = 10s retries = 3 secret = eltex # pap, chap, mschapv2 protocol = pap } login { # Количество попыток входа в панель администратора до наступления блокировки maxAttemptsLogin = 3 maxAttemptsIP = 5 # Количество минут блокировки после достижения максимального числа попыток входа в панель администратора blockTime = 5m } database { host = localhost port = 3306 name = ELTEX_PORTAL user = javauser password = javapassword pool { # Time to wait for a connection connectionTimeout = 10s # Time to wait for connection validation validationTimeout = 3s min = 1 max = 10 } cache { # Limit of cached simple entries count (for each query type) maxEntries = 1000 # Limit of total cached portal resources size maxResourceBytes = 32m # Maximum time to retain items in the cache expireTime = 30s } } sso { enabled = false # Must be in double quotes version = "1.0" rest { scheme = http host = localhost port = 80 sso_api_path = /apiman-gateway/b2b_test } auth { scheme = http host = localhost port = 80 authentication_path = /auth/realms/b2b/protocol/openid-connect/auth logout_path = /auth/realms/b2b/protocol/openid-connect/logout } params { client_id = id # URL of epadmin, URL must be in double quotes (!!!) redirect_uri = "http://localhost:8080/epadmin/sso" client_secret = secret } } jetty { https { port = 9444 keystorePass = 12345 keystoreFile = /etc/eltex-portal-constructor/localhost.pfx keystoreType = PKCS12 keyAlias = 1 ciphers = [ TLS_RSA_WITH_AES_128_CBC_SHA256 TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA256 TLS_RSA_WITH_AES_256_CBC_SHA ] } } validation { public_key = /etc/eltex-doors/keys/public.pem } |
Параметры | Описание |
---|---|
auth-service - подключение к серверу авторизации пользователей | |
host | Aдрес сервиса авторизации. |
port | Порт, на который будут отправляться запросы. |
timeout | Время ожидания ответа от сервера. |
retries | Количество попыток. |
secret | Ключевое слово для шифрования сообщений. |
protocol | Протокол авторизации, поддерживаемый сервером. |
login - настройки защиты от подбора паролей | |
maxAttemptsLogin | Количество попыток авторизации под одним и тем же логином, после которого будет включена капча. |
maxAttemptsIP | Количество попыток авторизации с одного IP-адреса, при превышении попытки авторизации с этого адреса будут блокироваться. |
blockTime | Время блокировки IP-адреса. |
database - настройки работы с БД | |
host | Адрес сервера БД. |
port | Порт, на который сервер БД принимает входящее подключение. |
name | Название БД. |
user | Имя пользователя БД. |
password | Пароль пользователя БД. |
pool | Управление соединениями к БД. connectionTimeout - время жизни коннекта при бездействии. validationTimeout - интервал проверки бездействующих коннектов. min - минимальное количество коннектов. max - максимальное количество коннектов. |
cache | Настройки кэширования. maxEntries - максимальное количество элементов в кэше. maxResourceBytes - размер кэша. expireTime - время хранения данных в кэше. |
sso | Блок настроек взаимодействия с SSO. enable - влюкчение/выключение взаимодействия. rest - блок настроек хоста и путей методов rest-сервера. auth - блок настроек хоста и путей методов auth-сервера. params - блок настроек идентификационной информации для SSO. |
jetty | Блок настроек взаимодействия с jetty. |
validation | Блок настроек валидации токенов для взаимодействия с другими сервисами SWLC. public_key - путь до публичного ключа. |
/etc/eltex-portal-constructor/log4j2.xml
...
Section | |||||||
---|---|---|---|---|---|---|---|
|
Докеризация сервиса
...
Предупреждение | ||
---|---|---|
| ||
При работе сервиса в докере все адреса сторонних сервисов (как в файлах, так и в настройках GUI конструктора порталов) должны быть указаны как внешние адреса, даже если они работают на одном хосте! Использовать адрес localhost или 127.0.0.1 недопустимо, т.к. это приведет к обращению к этому адресу внутри контейнера! |
Сервис может быть запущен в docker-контейнере. Для этого необходимо подготовить файл с переменными окружения .env и docker-compose.yml
Блок кода | ||||
---|---|---|---|---|
| ||||
version: "3" services: eltex-portal-constructor: container_name: eltex-portal-constructor image: lab3-testhub.eltex-co.loc:9443ru/softwlc/eltex-portal-constructor:1.18 ports: - 9001:${PORTAL_CONSTRUCTOR_PORT} - 9444:${PORTAL_CONSTRUCTOR_HTTPS_PORT} environment: - PORT=${PORTAL_CONSTRUCTOR_PORT} - database.host=${PORTAL_CONSTRUCTOR_DATABASE_HOST} - database.port=${PORTAL_CONSTRUCTOR_DATABASE_PORT} - database.name=${PORTAL_CONSTRUCTOR_DATABASE_NAME} - database.user=${PORTAL_CONSTRUCTOR_DATABASE_USER} - database.password=${PORTAL_CONSTRUCTOR_DATABASE_PASSWORD} - jetty.https.port=${PORTAL_CONSTRUCTOR_HTTPS_PORT} - jetty.https.keystorePass=${PORTAL_CONSTRUCTOR_HTTPS_KEYSTORE_PASS} - jetty.https.keystoreFile=${PORTAL_CONSTRUCTOR_HTTPS_KEYSTORE_FILE} - validation.public_key=${PORTAL_CONSTRUCTOR_PUBLIC_KEY} - auth-service.host=${PORTAL_CONSTRUCTOR_AUTH_SERVICE_HOST} - auth-service.port=${PORTAL_CONSTRUCTOR_AUTH_SERVICE_PORT} - auth-service.secret=${PORTAL_CONSTRUCTOR_AUTH_SERVICE_SECRET} volumes: - /etc/eltex-doors/keys/public.pem:${PORTAL_CONSTRUCTOR_PUBLIC_KEY}:ro |
...
Блок кода | ||
---|---|---|
| ||
docker-compose up |
Авторизация на Конструкторе Порталов
...
Перед тем, как авторизоваться на Конструкторе порталов, который запущен в контейнере, необходимо добавить серверный адрес для eltex_auth_service в MySQL:
|
- для многохостовой установки (eltex_auth_service и eltex-portal-constructor находятся на разных хостах):
Вместо <IP-address> нужно вписать ip-адрес сервера, котором запущен контейнер с Конструктором Порталов.
- для однохостовой установки (eltex_auth_service и eltex-portal-constructor находятся на одном хосте):
Вместо <IP-address> нужно вписать ip-адрес контейнера, внутри которого запущен Конструктором Порталов.
При этом следует учитывать, что при перезапуске контейнера, у него может смениться адрес, в таком, случае придется снова добавлять запись, но с другим ip-адресом.