Indeed Key Server
Indeed Key Server (Key Server) — это сервер, необходимый для работы мобильного приложения Indeed Key. С помощью Key Server отправляются push-уведомления и устанавливается связь с Core Server.
Связь с мобильным приложением Indeed Key осуществляется по протоколу HTTP или HTTPS.
При использовании SSL-соединения необходим корневой сертификат и
сертификат проверки подлинности веб-сервера. При создании сертификата
для Key Server в Common Name укажите имя или IP сервера, к
которому настроен доступ для приложения Indeed Key в теге
ServerUrl
конфигурационного файла сервера Key Server. Если в CN
указан IP-адрес, то он должен быть без протокола и порта.
Для записи событий сервера необходима отдельная база данных Microsoft SQL или PostgreSQL.
Файлы для установки
Файлы для Key Server расположены в папке indeed AM <номер версии>/Indeed AM Indeed Key Server/<Номер версии>:
- Indeed.IndeedKey.Server-<номер версии>.x64.ru.ru.msi — пакет для установки Indeed Key Server;
- Indeed.IndeedKey.EventLog.Setup-<номер версии>.x64.ru.ru.msi — пакет для создания необходимой структуры журнала в Windows EventLog.
Создание базы данных и сервисной учетной записи
Key Server поддерживает работу с базами PostgreSQL и Microsoft SQL.
Подробнее о создании базы данных и сервисной учетной записи вы можете узнать в разделе Хранилище данных.
После создания базы данных (после первого запроса) можно уменьшить права для пользователя. Достаточно права db_owner для созданной базы данных.
Привязка HTTPS в настройках в IIS Manager
Key Server является веб-приложением, которое работает на базе IIS, в процессе установки для Key Server включается обязательно требование SSL в настройках, что в свою очередь требует включенной привязки HTTPS.
Как это сделать
- Запустите IIS Manager и раскройте пункт Сайты (Sites).
- Выберите сайт Default Web Site и нажмите Привязки (Bindings) в разделе Действия (Actions).
- Нажмите Добавить (Add):
- Тип (Type) — https.
- Порт (Port) — 443.
- Выберите SSL-сертификат (SSL Certificate).
- Сохраните привязку.
Если вы не намерены использовать протокол HTTPS, отключите требование SSL в настройках IIS для Key Server.
Установка и настройка Indeed Key Server
Для корректной работы на Key Server должен быть установлен ASP.NET 4.7.
Установите Key Server через запуск пакета Indeed.IndeedKey.Server-<номер версии>.x64.ru.ru.msi.
Откройте IIS Manager.
Выберите Indeed Key Web Site. В окне Действия выберите Привязки... и нажмите Изменить....
В окне Изменение привязки сайта выберите SSL-сертификат с назначением Проверка подлинности сервера и нажмите Ок.
СоветЧтобы сохранить изменения в конфигурационном файле приложения, запустите редактор с правами администратора.
Если вы используете протокол HTTP, добавьте привязку с произвольным доступным портом и нажмите Ок. В конфигурационном файле сервера Web.config (находится в папке C:\inetpub\wwwroot\indeedkey) отключите требование HTTPS. Для этого измените значение с true на false для ключа
requireHttps
.Пример<add key="requireHttps" value="false" />
В параметре
rootDbContextId
укажите значение mssql, если вы используете базу данных Microsoft SQL, или postgreSql, если вы используете базу данных PostgreSQL.В секции
dbContextSettings
укажите строку для подключения к базе:для базы данных Microsoft SQL используйте параметр
mssqlDbContexts
;для базы данных PostgreSQL используйте параметр
postgresqlDbContexts
;ПримечаниеВ данной версии не поддерживается аутентификация Windows.
В параметре
value
с ключомServerUrl
укажите URL для подключения к Key Server.ПримечаниеПо умолчанию используется защищенное соединение (порт по умолчанию - 81).
При использовании соединения по HTTP укажите порт, отличающийся от 80 (порт 80 используется как порт по умолчанию для HTTP-соединений сервера IIS ).
ИнформацияKey Server должен быть доступен с мобильного телефона.
ПримерДля HTTPS — <add key="ServerUrl" value="https://airkeycloud.indeed.local:81" />
Для HTTP — <add key="ServerUrl" value="http://airkeycloud.indeed.local:82" />Укажите URL для подключения к Log Server в параметре Url тега
logServer
.Пример<logServer Url="http://logserver.indeed.local/ls/api" CertificateThumbprint="" CertificateFilePath="" CertificateFilePassword="" />
Сохраните изменения и перезагрузите сервер IIS.
Настройка событий сервера
Установка и настройка осуществляется на Log Server.
В качестве хранилища можно использовать все способы хранения, которые поддерживает Log Server.
Отслеживать события можно следующими способами:
- При хранении в событиях Windows — через Windows Events;
- При хранении в базе данных — сторонними средствами мониторинга или с помощью SQL-запросов.
- При использовании Syslog — сторонними средствами мониторинга с поддержкой Syslog.
В текущей версии Indeed AM просмотр событий Key Server с помощью Management Console не поддерживается.
Чтобы настроить события Key Server, выполните следующее:
На Log Server выполните установку пакета Indeed.AirKey.EventLog.Setup.
Откройте файл clientApps.config (находится в папке C:\inetpub\wwwroot\ls).
Для параметра
SchemaId
со значением akcSchema задайте место хранения лог-файлов. В тегеReadTargetId
и вложенным тегомTargetId
тегаWriteTargets
установите необходимый параметр:akcEventLogTarget — чтение и запись событий производится из отдельного журнала событий Windows. Это значение задано по умолчанию.
ИнформацияПросмотр событий осуществляется в журнале событий Windows на Log Server: Панель управления→Администрирование→ Просмотр событий→Журналы приложений и служб→Indeed AirKey→ Operational.
akcSqlTarget — чтение и запись событий производится из базы данных Microsoft SQL.
ИнформацияСобытия доступны в таблице EventEntities через SQL-запрос, либо с использование API Indeed AM.
<Application Id="akc" SchemaId="akcSchema">
<ReadTargetId>akcSqlTarget</ReadTargetId>
<WriteTargets>
<TargetId>akcSqlTarget</TargetId>
</WriteTargets>
<AccessControl> <!--<CertificateAccessControl CertificateThumbprint="001122...AA11" Rights="Read" />--> </AccessControl> </Application>
Если в качестве хранилища событий вы используете базу данных, выполните настройку подключения к базе в файле akcSqlTarget.config (находится в папке C:\inetpub\wwwroot\ls\targetConfigs).
Для событий Key Server необходимо использовать отдельную базу данных.
Сервис очистки старых данных
В файле Web.config (находится в папке C:\inetpub\wwwroot\airkeycloud) можно задать параметры
сервиса очистки старых данных из таблицы AkDatas
:
<jobSettings>
<cleanAkDatas enabled="true" firstRunTime="00:00" intervalSec="86400" akDataLifeTimeSec="86400" />
</jobSettings>
Описание атрибутов примера
Имя атрибута | Описание | Значение | Значение по умолчанию | Минимально допустимое значение |
---|---|---|---|---|
enabled | Флаг включения сервиса | true \ false | true | Отсутствует |
firstRunTime | Время первого запуска сервиса | Строка в формате времени hh:mm | 00:00 (полночь) | Отсутствует |
intervalSec | Интервал запуска сервиса | Число секунд | 86400 (24 ч) | 600 |
akDataLifeTimeSec | Время жизни данных | Число секунд | 86400 (24 ч) | 600 |
Проверка состояния сервера
Чтобы проверить состояние Key Server, используйте метод API /api/HealthCheck
. Сервер в фоновой задаче осуществляет проверку состояния хранилища. Интервал выполнения фоновой задачи задается в
конфигурационном файле Web.config (находится в папке C:\inetpub\wwwroot\airkeycloud) в секции
jobSettings
:
<jobSettings>
<storageHealthCheck intervalSec="60" />
</jobSettings>
Шифрование/Расшифрование конфигурационного файла
Используйте следующие пакетные файлы, расположенные в дистрибутиве Indeed AM в папке Indeed AM <номер версии>\Indeed AM Indeed Key Server\8.2.2\Misc\EA.Config.Encryptor:
EncryptConfig.bat — для шифрования конфигурационного файла;
DecrypConfig.bat — для расшифрования конфигурационного файла.