Установка Relay-сервера

Важно. Начиная с версии 21.04 Relay-сервер поддерживается в соответствии с договорами технической поддержки. Исходные коды Relay-сервера опубликованы по адресу https://updates.fsight.ru/s/6DN6468KGBL2DGB. Любая компания получает возможность развивать решение Relay-сервер. При пролонгации или заключении нового договора технической поддержки уточняйте дополнительно условия поддержки Relay-сервер. Рекомендуется использовать распространенные средства безопасности для публикации веб-приложений, такие как application firewall и application proxy.

Relay-сервер – это сервер, на котором развёрнут Relay-сервис. Relay-сервис позволяет устанавливать соединение между мобильным устройством и сервером мобильной платформы при повышенных требованиях к защите данных внутренней корпоративной сети. В таком случае порты из внешней сети во внутреннюю закрыты, открыты только порты из внутренней сети во внешнюю.

Relay-клиент – это узел, который устанавливает соединение между Relay-сервером и сервером мобильной платформы.

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

Схема взаимодействия мобильного клиента, Relay-сервера, Relay-клиента и сервера мобильной платформы:

Сервер мобильной платформы устанавливает http-соединение с Relay-клиентом. Relay-клиент устанавливает SSH-соединение с Relay-сервером. Relay-сервер устанавливает http-соединение с мобильным клиентом.

Мобильный клиент обменивается данными с сервером мобильной платформы с помощью Relay-сервера, который находится во внешней сети, и Relay-клиента, который находится во внутренней сети.

Relay-сервер взаимодействует с мобильным клиентом и сервером мобильной платформы:

В процессе установки Relay-сервера и Relay-клиента используются файлы конфигурации из архива relay_sources_v23.12.<порядковый номер версии>.zip и образы relay_images_v23.12.<порядковый номер версии>.tgz, которые размещены на сервере мобильной платформы. Скопируйте файлы конфигурации на все узлы, которые будут использоваться при установке.

Примечание. Установка Relay-сервера и Relay-клиента выполняется только после установки сервера мобильной платформы.

Для установки Relay-сервера и Relay-клиента:

  1. Запустите сервер мобильной платформы:

% docker-compose -f docker-compose.standalone.yml up

  1. Перейдите на узел, на котором будет запущен Relay-сервер, и выполните следующие действия:

    1. Скопируйте сгенерированный SSH-ключ id_rsa.pub из узла, на котором запущен Relay-клиент, в данный узел.

    2. Объявите переменную SSH_PUB_KEY для публичного ключа SSH-соединения:

% export SSH_PUB_KEY=$(cat ~/<каталог для SSH-ключей>/id_rsa.pub)

    1. При необходимости измените значение переменной в файле .env:

Примечание. Значение переменной должно совпадать со значением переменной RELAY_SERVER_PORT в файле .env, который расположен на узле Relay-клиента.

    1. Запустите Relay-сервер:

% docker-compose -f docker-compose.relay.yml up -d relay_server

  1. Перейдите на узел, на котором будет запущен Relay-клиент, и выполните следующие действия:

Примечание. Запуск Relay-клиента может выполняться на одном узле вместе с сервером мобильной платформы.

    1. Сгенерируйте SSH-ключи для установки зашифрованного соединения между Relay-клиентом и Relay-сервером:

% ssh-keygen -t rsa -N "" -f ~/<каталог для SSH-ключей>/id_rsa

    1. Объявите переменные SSH_PUB_KEY и SSH_KEY для ключей SSH-соединения:

% export SSH_PUB_KEY=$(cat ~/<каталог для SSH-ключей>/id_rsa.pub)
% export SSH_KEY=$(cat ~/<каталог для SSH-ключей>/id_rsa)

    1. Измените значения переменных в файле .env:

При необходимости измените значения переменных:

    1. Запустите Relay-клиент:

% docker-compose -f docker-compose.relay.yml up -d relay_client

  1. При необходимости:

% unset SSH_KEY
% unset SSH_KEY_PUB

% unset SSH_KEY_PUB

После выполнения действий Relay-сервер будет установлен. Обмен запросов между мобильным клиентом и сервером мобильной платформы будет осуществляться через Relay-клиент и Relay-сервер. Для отправки запросов к мобильной платформе используйте доменное имя Relay-сервера и порт 8079, например: domain.com:8079. Если Relay-сервер не содержит доменного имени, то создайте псевдоним с доменным именем в файле /etc/hosts и обращайтесь к нему.

Отключение Relay-сервера и Relay-клиента

Для отключения Relay-сервера и Relay-клиента выполните команду:

% docker-compose -f docker-compose.relay.yml down

После выполнения действий Relay-сервер и Relay-клиент будут отключены.

См. также:

Развертывание и подготовка сервера на Ubuntu | Развертывание и подготовка сервера на Astra Linux | Развертывание и подготовка сервера на Rocky Linux | Обновление продукта «Форсайт. Мобильная платформа» | Управление мобильной платформой | Активация и управление лицензией