Skip to content

Configuration

mDev86 edited this page Jul 25, 2018 · 3 revisions

EN

Server configuration


RU

Настройка сервера

Все параметры для работы сервера указываются в файле appsettings.json.

Ниже показан формат данного файла и все возможные настройки:

{ 
    "Connection":{
      "Addr" : "192.168.0.102",                         
      "Port" : 49001,
      "SSL" : {
        "IP": "192.168.0.102",
        "SerialNumb": "‎17 01 ee 13 52 a5 36 99 47 c3 93 60 08 74 ed 70",	
        "PathFile": "D:\\cert.pfx",
        "Password": "Qwe123"
      }
    },
    "DataBase": {                                     
      "NameDB" : "SQLite",                            
      "ConnectionString" : "Filename=RAIDAChat.db",
      "CntConnect": 10    
    },
    "TransactionRollback" : 60,                       
    "LimitMsgForDialog" : 100,                        
    "CleanUpTimer" : 3600,                            
    "SyncWorldTime" : 86400,                          
    "TrustedServers":[
      "http://192.168.0.102:49002"                    
    ]
}

Секция Connection (Обязательно) содержит сетевые параметры ноды:

  • Addr (Обязательно) : IP4 адрес или DNS имя по которому будет доступен сервер
  • Port : Порт для подключения клиентов по WebSocket
  • SSL : Настройки для использования защищенного SSL соединения
    • IP (Обязательно) : Только IP4 совпвдающее с Addr
    • SerialNumb (вариант-1) : Серийный номер используемого сертификата
    • PathFile (вариант-2) : Путь до файла сертификата с расширением pfx
    • Password (вариант-2) : Пароль от файла

При использовании SSL соединения можно указать один из вариантов:

  1. Использовать только серийный номер сертификата (SerialNumb) предварительно установив его в реестр (Локальный компьютер -> Доверенные корневые центры сертификации)
  2. Указать только PathFile и Password

Секция DataBase содержит параметры подключения к базе данных.

  • NameDB : Наименование БД, которая будет использоваться (Доступные варианты: SQLite, MySQL, MSSQL)
  • ConnectionString : Строка подключения к БД. Если в ней отсутствуют пара логин-пароль для подключения, то в процессе запуска сервера потребуется указать данную информацию.
  • CntConnect : Количество попыток подключения к БД с интервалом в 1 секунду

Внимание! Доступно использование только реляционных БД:

  • MySQL
  • SQLite
  • MSSQL

Пример подключения к MySQL с указанием пары логин-пароль

"DataBase": {
   "NameDB" : "MySQL",                            
   "ConnectionString" : "server=localhost;port=3306;database=raidachat;user id=root;password=root;"
}

Пример подключения к MSSQL без указани пары логин-пароль

"DataBase": {
   "NameDB" : "MSSQL",                            
   "ConnectionString" : "data source=SEREGA\\SQLSERV2016;initial catalog=CloudChatPortable;persist security info=True;multipleactiveresultsets=True"
}

Внимание! Пользователь СУБД должен иметь права на создание новой БД При возникновении ошибки Database connection is fail. Error: {errorMessage} необходимо проверить строку подключения, доступность БД и ее настройки или гуглить ошибку {errorMessage}.

Секция TrustedServers (Обязательно) : Представляет собой список(массив) url-адресов доверенных серверов с которыми будет осуществляться синхронизация данных. В обязательном порядке должен содержать минимум один адрес.

Дополнительные параметры:

  • TransactionRollback : Указывается время в течение которого можно совершить отмену операции. Подробнее
  • LimitMsgForDialog : Количество сообщений одного диалога, которые хранятся на сервере
  • CleanUpTimer : Количество секунд через которое производится очищение ненужной информации (Устаревшие транзакции и сообщения с истекшим временем жизни)
  • SyncWorldTime : Количество секунд через которое внутренний таймер синхронизируется с мировым временем

Пояснения: Секции и параметры у которых не указано слово (Обязательно), можно не указывать в файле. В таком случае к ним будут применены значения по умолчанию, которые указаны в примере выше.

Пример минимальной конфигурации:

{ 
   "Connection":{
     "Addr" : "192.168.0.102",                         
   },                        
   "TrustedServers":[
     "http://192.168.0.102:49002"                    
   ]
}

Ограничения на указываемые значения:

  • Port - Принимает значения от 1 до 65535
  • NameDB - Можно указать только один из вариантов: sqlite, mysql, mssql
  • CntConnect - Принимает значения от 1 до 25
  • TransactionRollback - Принимает значения от 0 до 3600
  • LimitMsgForDialog - Принимает значения от 0 до 3600
  • CleanUpTimer - Принимает значения от 60 до 86400
  • SyncWorldTime - Принимает значения от 1800 до 86400

Clone this wiki locally