Web Server (ws)
Описание
Предоставляет доступ к API системы через HTTP и WebSocket, а также обслуживает выдачу статических файлов системных и ролевых веб-приложений. Для доступа к API проводит авторизацию и работает с HTTP-сессиями через выставление и использование Cookie. Для некоторых endpoint’ов доступна авторизация по токену с использованием заголовка `Authorization: Bearer <intergation_point.token_local>`.
Резервируется и масштабируется в режиме Active-Active.
При запуске роли проверяется сертификат указанный в параметре *certdir*. Если валидация не пройдена, роль запускается с неизменяемым сертификатом. Сертификат может быть переопределен через настройки домена.
Код |
|
Режим работы |
|
Режим резервирования |
|
Типы сайтов |
|
Слой |
|
Размещение |
|
Сохранение и восстановление состояния при перезагрузке |
|
Приложение |
|
Ограничения
-
Присутствует в начальной конфигурации.
-
Является пограничной ролью, использует сертификат TLS для HTTPS и WSS подключений.
Параметры
Имя | Тип | Умолчание | Описание | ||
---|---|---|---|---|---|
|
|
required |
Имя. Может состоять из латинских букв и цифр, должно начинаться с буквы. |
||
|
|
required |
Тип роли. Возможные значения: |
||
|
|
required |
Алиас сетевого интерфейса сервера, на котором будет происходить внутреннее взаимодействие ролей между собой. |
||
|
|
empty |
Дополнительные опции роли. Содержит json объект или список. |
||
|
|
empty |
Флаг активности роли. При установке в false роль не участвует в валидации и не запускается. |
||
|
required |
Идентификатор роли. |
|||
|
|
Признак выделения роли в отдельную ноду. |
|||
|
empty |
Алиас каталога на сервере для хранения файлов autoprovision. |
|||
|
empty |
Алиас каталога на сервере для хранения сертификатов (файлы 'server.crt' и 'server.key'). Этот параметр и применяется только в случае, когда не применен сертификат, указанный в настройках домена (settings.certificate_pem):
|
|||
|
empty |
Пароль для расшифровки файла секретного ключа сертификата. |
|||
|
|
Список интерфейсов HTTP. Указываются алиасы интерфейсов сервера.
|
|||
|
|
Список интерфейсов HTTPS. Указываются алиасы интерфейсов сервера.
|
|||
|
|
Локальный порт веб-сервера для открытых TCP подключений. |
|||
|
|
Локальный порт веб-сервера для TLS поключений. |
|||
|
|
Режим работы портов.
При перенаправлении на https меняется схема, но сохраняется имя хоста, если обращение происходит по доменному имени. |
|||
|
|
Интервал в секундах, в течение которого сервер не возвращает ответы 5xx на отправляемые запросы, а вместо этого делает периодические попытки повторить запрос. |
|||
|
empty |
Режим обслуживания запросов
|
|||
|
Список ключей для построения различных групп вебсерверов и указания списков в качестве точек доступа для микросервисов продуктового слоя. |
||||
|
0 |
Приоритетный номер при построении списков вебсерверов и указании в качестве точек доступа для микросервисов продуктового слоя. |
|||
|
|
Выключатель особой настройки уровня логирования веб-сокет подключений.
|
|||
|
|
Уровень логирования сообщений протокола websocket.
|
|||
|
empty |
Алиас каталога на сервере со статическими ресурсами web-сервера. |
Пример конфигурации
Управление конфигурацией производится в приложении, доступном для администраторов мастер-домена. Приложение скрывает полное содержание конфигурации, однако тем не менее оно доступно через API.
Конфигурация содержит раздел для описания всех экземпляров всех ролей. Параметры определяются для каждого конкретного экземпляра роли.
{
"iface": "eth0",
"name": "ws1",
"roletype": "ws",
"roleid": 11230,
"certdir": "alias://paths/default_certdir",
"keypass": "eb9c4458016d3f1e378d02004c4f4f50",
"httpport": 80,
"httpsport": 443,
"http_ifaces": ["eth0", "eth2"],
"https_ifaces": [],
"ports_mode": "both",
"service_mode": "both",
"websock_debug_level_enabled": 1,
"websock_debug_level": 2
}