Конфигурация
Продукты: МоиОтчеты Корпоративный Сервер
Конфигурация МоиОтчеты Корпоративный Сервер осуществляется через файлы appsettings.json, которые лежат в директории приложения. Эти файлы по умолчанию уже имеют ряд свойств, которые можно переопределить одним из трех способов:
Через
appsettings.{Environment}.json, по умолчанию переменнаяEnvironmentимеет значениеProduction, поэтому достаточно изменить содержание файлаappsettings.Production.json. Регистр имеет значение!Для смены значения используйте переменные среды
ASPNETCORE_ENVIRONMENTиDOTNET_ENVIRONMENT.export ASPNETCORE_ENVIRONMENT=Production export DOTNET_ENVIRONMENT=ProductionЧерез переменные среды. Подробности описаны ниже.
Приоритезация загрузки конфига appsettings.json -> appsettings.{Environment}.json -> переменные среды. Это означает, что конфигурация будет загружена слева направо, иначе говоря, те файлы что находятся правее перезаписывают конфиг предыдущих.
Описание формата appsettings.json
В каждом из разделов будет приведён пример конфигурации и описательная часть: ключ -> значение.
{
"Logging":[
{
"Name":"ToEmail"
}
]
}
Этот ключ можно использовать как переменную среды:
export Logging__0__Name=ToEmail
Здесь запись Logging__0__Name означает обращение к разделу Logging, элементу под индексом 0 и свойство Name.
Раздел Kestrel
Позволяет конфигурировать http сервер для прослушивания определённого порта или использования сертификата. Пример конфига:
{
"Kestrel":{
"Endpoints":{
"Http":{
"Url":"http://localhost:5000"
},
"Https":{
"Url":"https://localhost:5001",
"Certificate":{
"Path":"<путь к файлу .pfx>",
"Password":"<пароль к сертификату>"
}
}
}
}
}
| Ключ | Тип | Описание |
|---|---|---|
Kestrel__Endpoints__Http_Url |
string (uri) | Точка доступа для прослушивания http. |
Kestrel__Endpoints__Https_Url |
string (uri) | Точка доступа для прослушивания https. |
Kestrel__Endpoints__Https_Certificate_Path |
string (local path) | Путь к файлу .pfx сертификата для https трафика. |
Kestrel__Endpoints__Https_Certificate_Password |
string | Пароль для доступа к .pfx файлу. |
Раздел Auth
Позволяет конфигурировать процесс аутентификации и авторизации.
{
"Auth":{
"ClientId":"<клиент OpenID>",
"Scopes":"OpenID и другие области видимости",
"Authority":"https://id.быстрыеотчеты.рф",
"Audience":"https://облако.моиотчеты.рф",
"Secret":"<секрет для клиента OpenID>",
"UseApiKeys":true,
"UseOpenId":true,
"UseLocal":false,
"AllowLocalSignUp":false,
"RsaXml":"<XML-кодированный объект>",
"UserInfoEndpoint":"https://example.com/userinfo",
"TokenEndpoint":"https://example.com/token",
"MetadataEndpoint":"https://example.com/.well-known/openid-configuration"
}
}
| Ключ | Тип | Описание |
|---|---|---|
Auth__ClientId |
string | Уникальный идентификатор на сервере аутентификации по протоколу openid. |
Auth__Scopes |
string | Список областей клиента по протоколу openid. |
Auth__Authority |
string (uri) | Точка доступа Authority у которой будет запрашиваться токен доступа по протоколу openid. |
Auth__Audience |
string (uri) | Точка доступа Audience для которой будет запрашиваться токен доступа по протоколу openid. |
Auth__Secret |
string | Секретный токен для подтверждения авторизации по протоколу openid. |
Auth__UseApiKeys |
boolean | Включает или отключает возможность авторизации через ключи доступа. |
Auth__UseOpenId |
boolean | Включает или отключает возможность авторизации по протоколу openid, обратите внимание, клиент должен быть настроен для авторизации через code flow. |
Auth__UseLocal |
boolean | Включает или отключает возможность авторизации по почте и паролю. Данные пользователей в этом случае хранятся локально в базе сервера. |
Auth__AllowLocalSignUp |
boolean | Включает или отключает регистрацию со стороны пользователя. Если отключено, то регистрация доступна только администраторам. |
Auth__RsaXml |
string (xml) | RSA сериализованный в XML. Например, <RSAKeyValue><Modulus>{base64}</Modulus><Exponent>{base64}</Exponent><P>{base64}</P><Q>{base64}</Q><DP>{base64}</DP><DQ>{base64}</DQ><InverseQ>{base64}</InverseQ><D>{base64}</D></RSAKeyValue> |
Auth__UserInfoEndpoint |
string (uri) | Точка доступа, через которую будут запрашиваться данные пользователя по протоколу openid. |
Auth__TokenEndpoint |
string (uri) | Точка доступа, через которую будет запрашиваться токен пользователя по протоколу openid. |
Auth__MetadataEndpoint |
string (uri) | Точка доступа well-known с метаданными для openid. |
Раздел MainConfig
Позволяет конфигурировать основную конфигурацию МоиОтчеты Корпоративный Сервер.
{
"MainConfig":{
"Database":{
"ConnectionString":"<строка подключения>",
"DatabaseName":"ReportstoreDb",
"ExportsCollectionName":"Exports",
"ReportsCollectionName":"Reports",
"TemplatesCollectionName":"Templates",
"TemplateFoldersCollectionName":"TemplateFolders",
"ReportFoldersCollectionName":"ReportFolders",
"ExportFoldersCollectionName":"ExportFolders",
"UsersCollectionName":"Users",
"SubscriptionPlansCollectionName":"SubscriptionPlans",
"SubscriptionsCollectionName":"Subscriptions",
"SubscriptionInvitesCollectionName":"SubscriptionInvites",
"GroupsCollectionName":"Groups",
"DataSourceCollectionName":"DataSources",
"GridFSFilesCollectionName":"fs.files",
"MigrationsCollectionName":"Migrations",
"CurrentTasksCollectionName":"CurrentTasks",
"TasksCollectionName": "Tasks",
"AuditCollectionName": "Audit",
"ContactsCollectionName": "Contacts",
"ContactGroupsCollectionName": "ContactGroups",
"FontsCollectionName": "Fonts",
"UserFontsCollectionName": "UserFonts"
},
"Server": {
"Title": "<Заголовок в приложении>",
"Copyright": "<Краткое описание авторского права>",
"LogoLink" : "<путь к логотипу, отображаемому в панели пользователя>",
"FaviconLink": "<путь к иконке в формате ico>",
"LastSlaUpdate": "2022-11-28",
"CorporateServerMode": true,
"SlaLink": "<Ссылка на пользовательское соглашение>",
"FirstStepsVideoLink": "https://rutube.ru/play/embed/f64e80d2fa8e2d73b30c47483fa2b59e",
"AboutLink": "https://быстрыеотчеты.рф/products/corporate-server",
"HomePageLink": "быстрыеотчеты.рф",
"AuthServerName": "ID Быстрые отчеты",
"UsersPerWorkSpace": null,
"DataSourcesPerWorkSpace": null,
"GroupsPerWorkSpace": null
},
"Pagination":{
"MaxEntries":120
},
"Rabbit":{
"Host":"my-rabbit-server.com",
"Port":5672,
"UserName":"<имя пользователя>",
"Password":"<пароль пользователя>",
"QueueName":"ReportProcessQueue",
"DirectExchangeName":"DirectEx",
"AlternateExchangeName":"AExchange",
"UnroutedQueueName":"Default",
"Capacity":1
},
"SecurityAdvisor":{
"RestrictUnsafe":true,
"RestrictUnmanaged":true,
"RestrictExtern":true,
"RestrictAsync":true,
"RestrictTypeOf":true,
"Whitelist":[
"^\\w+:\\s+FastReport.*$",
"^\\w+\\:.*System\\.Math.*$",
"^\\w+\\:.*System\\.DateTime.*$",
"^\\w+\\:.*System\\.Environment.*$"
],
"Blacklist":[
"^Method\\:.*\\.GetType\\(\\)$",
"^\\w+\\:.*System\\.IO.*$",
"^\\w+\\:.*FastReport\\.Utils\\.Config.*$",
"^\\w+\\:.*System\\.Environment.*$",
"^\\w+\\:.*System\\.Diagnostics.*$",
"^\\w+\\:.*System\\.Reflection.*$",
"^\\w+\\:.*System\\.Net.*$",
"^\\w+\\:.*System\\.Threading.*$"
]
},
"License": "",
"SmtpServer": {
"EnableSsl": true,
"Server": "smtp.s.com",
"Port": 587,
"Username": "--",
"From": "--",
"Password": "--"
},
"Tasks": {
"Attempts": 3
},
"Frontend": {
"Mixins": {
"Head": "",
"Body": ""
}
},
"Rfc2898CryptorSettings": {
"Salt": "",
"Password": "",
"IV": ""
},
"DataSourcesConfig": {
"XmlConfig": { "CommandTimeout": 30 },
"JsonConfig": { "CommandTimeout": 30 },
"CsvConfig": { "CommandTimeout": 30 },
"MySqlConfig": { "CommandTimeout": 30 },
"PostgreSqlConfig": { "CommandTimeout": 30 },
"MsSqlConfig": { "CommandTimeout": 30 },
"OracleDbConfig": { "CommandTimeout": 30 },
"FirebirdConfig": { "CommandTimeout": 30 },
"MongoDbConfig": { "CommandTimeout": 30 },
"ClickHouseConfig": { "CommandTimeout": 30 }
},
"FontServerAddress": "http://fr-fonts.fr-cloud:80"
}
}
| Ключ | Тип | Описание |
|---|---|---|
MainConfig__Database__ConnectionString |
string | Строка для подключения к базе данных MongoDB (FerretDB). |
MainConfig__Database__DatabaseName |
string | Название базы данных сервера MongoDB (FerretDB). |
MainConfig__Database__ExportsCollectionName |
string | Название коллекции для хранения списка экспортов. |
MainConfig__Database__ReportsCollectionName |
string | Название коллекции для хранения списка отчётов. |
MainConfig__Database__TemplatesCollectionName |
string | Название коллекции для хранения списка шаблонов. |
MainConfig__Database__TemplateFoldersCollectionName |
string | Название коллекции для хранения древовидной структуры шаблонов. |
MainConfig__Database__ReportFoldersCollectionName |
string | Название коллекции для хранения древовидной структуры отчётов. |
MainConfig__Database__ExportFoldersCollectionName |
string | Название коллекции для хранения древовидной структуры экспортов. |
MainConfig__Database__UsersCollectionName |
string | Название коллекции для хранения списка пользователей. |
MainConfig__Database__SubscriptionPlansCollectionName |
string | Название коллекции для хранения списка планов подписки. |
MainConfig__Database__SubscriptionsCollectionName |
string | Название коллекции для хранения списка подписок. |
MainConfig__Database__SubscriptionInvitesCollectionName |
string | Название коллекции для хранения списка приглашений. |
MainConfig__Database__GroupsCollectionName |
string | Название коллекции для хранения списка групп. |
MainConfig__Database__DataSourceCollectionName |
string | Название коллекции для хранения списка источников данных. |
MainConfig__Database__GridFSFilesCollectionName |
string | Название коллекции для хранения файлов. |
MainConfig__Database__MigrationsCollectionName |
string | Название коллекции для хранения списка применённых миграций. |
MainConfig__Database__CurrentTasksCollectionName |
string | Название коллекции для хранения задач. Вспомогательная коллекция для текущих задач. |
MainConfig__Database__TasksCollectionName |
string | Название коллекции для хранения задач. |
MainConfig__Database__AuditCollectionName |
string | Название коллекции для хранения аудитов. |
MainConfig__Database__ContactsCollectionName |
string | Название коллекции для хранения контактов. |
MainConfig__Database__ContactGroupsCollectionName |
string | Название коллекции для хранения групп контактов. |
MainConfig__Database__FontsCollectionName |
string | Название коллекции для хранения шрифтов. |
MainConfig__Database__UserFontsCollectionName |
string | Название коллекции для хранения пользовательских шрифтов. |
MainConfig__Server__Title |
string | Имя для сервера, которое будет использовать пользовательское приложение в заголовке страницы. |
MainConfig__Server__Copyright |
string | Текст для информации об авторском праве (или любой другой информации, которая будет отображена внизу страницы пользовательского приложения). |
MainConfig__Server__LogoLink |
string | Ссылка на файл с логотипом. |
MainConfig__Server__FaviconLink |
string | Ссылка на файл с favicon. |
MainConfig__Server__LastSLAUpdate |
string | Дата последнего изменения пользовательского соглашения, если изменить эту дату на более новую, при открытии пользовательского приложения откроется диалог, в котором будет ссылка на обновлённые условия (из поля SlaLink). |
MainConfig__Server__CorporateServerMode |
boolean | Это поле изменяет поведение части API, например, если указано false, то в админской панели нельзя будет удалять рабочие пространства. |
MainConfig__Server__FirstStepsVideoLink |
string | Ссылка на видео руководство к корпоративному серверу, которое появится при первом входе в пользовательское приложение или при нажатии на ? внизу страницы. |
MainConfig__Server__AboutLink |
string | Ссылка на информацию о продукте. |
MainConfig__Server__HomePageLink |
string | Ссылка на домашнюю страницу сайта продукта. |
MainConfig__Server__AuthServerName |
string | Имя для сервера авторизации, указанного в разделе AuthConfig, используемое в пользовательском приложении. |
MainConfig__Server__UsersPerWorkSpace |
integer? | Максимальное количество пользователей в рабочем пространстве, задаваемое администратором. |
MainConfig__Server__DataSourcesPerWorkSpace |
integer? | Максимальное количество источников данных в рабочем пространстве, задаваемое администратором. |
MainConfig__Server__GroupsPerWorkSpace |
integer? | Максимальное количество групп в рабочем пространстве, задаваемое администратором. |
MainConfig__Rabbit__Host |
string | Адрес хоста для доступа к RabbitMQ. |
MainConfig__Rabbit__Port |
string | Порт для доступа к RabbitMQ. |
MainConfig__Rabbit__UserName |
string | Имя пользователя для доступа к RabbitMQ. |
MainConfig__Rabbit__Password |
string | Пароль для доступа к RabbitMQ. |
MainConfig__Rabbit__QueueName |
string | Название очереди, которая используется для базового имени конкретных очередей подписок пользователей. |
MainConfig__Rabbit__DirectExchangeName |
string | Название обменника RabbitMQ, который используется для направления сообщений на очереди подписок пользователей. |
MainConfig__Rabbit__AlternateExchangeName |
string | Название обменника RabbitMQ, который будет использоваться по умолчанию, когда для пользователя ещё не создана подписка. |
MainConfig__Rabbit__UnroutedQueueName |
string | Название очереди RabbitMQ, которая будет обрабатываться по умолчанию, когда для пользователя ещё не создана подписка. |
MainConfig__Rabbit__Capacity |
1 | Не меняйте это значение! Задаёт максимальное количество параллельных построений отчётов на одном рабочем построителе. |
MainConfig__SecurityAdvisor__RestrictUnsafe |
string | Включает или отключает ключевое слово unsafe в скрипте. |
MainConfig__SecurityAdvisor__RestrictUnmanaged |
string | Включает или отключает ключевое слово unmanaged в скрипте. |
MainConfig__SecurityAdvisor__RestrictExtern |
string (uri) | Включает или отключает ключевое слово extern в скрипте. |
MainConfig__SecurityAdvisor__RestrictAsync |
string (uri) | Включает или отключает ключевое слово async в скрипте. |
MainConfig__SecurityAdvisor__RestrictTypeOf |
string | Включает или отключает ключевое слово typeof в скрипте. |
MainConfig__SecurityAdvisor__Whitelist__0 |
boolean | Задаёт список API, которые можно использовать без предупреждений в скрипте отчёта. Число указывает порядковый номер в списке. |
MainConfig__SecurityAdvisor__Blacklist__0 |
boolean | Задаёт список API, которые нельзя использовать в скрипте отчёта. Число указывает порядковый номер в списке. |
MainConfig__License |
string | Лицензионный ключ. Предоставляется вместе с продуктом. |
MainConfig__SmtpServer__Server |
string | Адрес почтового сервера |
MainConfig__SmtpServer__Port |
integer | Порт SMTP сервера |
MainConfig__SmtpServer__Username |
string | Имя пользователя SMTP сервера |
MainConfig__SmtpServer__Password |
string | Пароль пользователя SMTP сервера |
MainConfig__SmtpServer__From |
string | Почтовый адрес отправителя (отображается в письме) |
MainConfig__Tasks__Attempts |
integer | Количество попыток запуска задачи воркером |
MainConfig__Frontend__Mixins__Head |
string | Примесь, встраиваемая в header пользовательской панели (например, код аналитики) |
MainConfig__Frontend__Mixins__Body |
string | Примесь, встраиваемая в body пользовательской панели (например, код аналитики) |
MainConfig__Rfc2898CryptorSettings__Salt |
string | Соль криптографического алгоритма (используется для шифрования паролей) |
MainConfig__Rfc2898CryptorSettings__Password |
string | Пароль криптографического алгоритма |
MainConfig__Rfc2898CryptorSettings__IV |
string | Вектор криптографического алгоритма |
MainConfig__InvariantLocale |
string | Постоянная локализация. Работает независимо от языка браузера |
MainConfig__DataSourcesConfig__XmlConfig__CommandTimeout |
integer | Время ожидания ответа от источника данных XML в секундах. Если не указать значение, будет использоваться стандартный таймаут для этого источника данных. |
MainConfig__DataSourcesConfig__JsonConfig__CommandTimeout |
integer | Время ожидания ответа от источника данных JSON в секундах. Если не указать значение, будет использоваться стандартный таймаут для этого источника данных. |
MainConfig__DataSourcesConfig__CsvConfig__CommandTimeout |
integer | Время ожидания ответа от источника данных CSV в секундах. Если не указать значение, будет использоваться стандартный таймаут для этого источника данных. |
MainConfig__DataSourcesConfig__MySqlConfig__CommandTimeout |
integer | Время ожидания ответа от источника данных MySQL в секундах. Если не указать значение, будет использоваться стандартный таймаут для этого источника данных. |
MainConfig__DataSourcesConfig__PostgreSqlConfig__CommandTimeout |
integer | Время ожидания ответа от источника данных PostgreSQL в секундах. Если не указать значение, будет использоваться стандартный таймаут для этого источника данных. |
MainConfig__DataSourcesConfig__MsSqlConfig__CommandTimeout |
integer | Время ожидания ответа от источника данных MS SQL в секундах. Если не указать значение, будет использоваться стандартный таймаут для этого источника данных. |
MainConfig__DataSourcesConfig__OracleDbConfig__CommandTimeout |
integer | Время ожидания ответа от источника данных Oracle DB в секундах. Если не указать значение, будет использоваться стандартный таймаут для этого источника данных. |
MainConfig__DataSourcesConfig__FirebirdConfig__CommandTimeout |
integer | Время ожидания ответа от источника данных Firebird в секундах. Если не указать значение, будет использоваться стандартный таймаут для этого источника данных. |
MainConfig__DataSourcesConfig__MongoDbConfig__CommandTimeout |
integer | Время ожидания ответа от источника данных Mongo DB в секундах. Если не указать значение, будет использоваться стандартный таймаут для этого источника данных. |
MainConfig__DataSourcesConfig__ClickHouseConfig__CommandTimeout |
integer | Время ожидания ответа от источника данных ClickHouse в секундах. Если не указать значение, будет использоваться стандартный таймаут для этого источника данных. |
FontServerAddress |
string (uri) | Абсолютная ссылка для доступа к серверу шрифтов. |
Раздел Gateway
Позволяет конфигурировать шлюз доступа МоиОтчеты Корпоративный Сервер.
{
"Gateway":{
"WhiteListForDisabled":{
"<any_claim_name>":"<claim_value>"
},
"IsDisabled":false,
"ExcludePaths":[
"/account",
"/disabled"
],
"IsSignInRequired":false
}
}
| Ключ | Тип | Описание |
|---|---|---|
Gateway__WhiteListForDisabled__<any_claim_name> |
string | Список утверждений пользователя в токене для доступа к выключенному МоиОтчеты Облако. |
Gateway__IsDisabled |
boolean | Включает или отключает доступ к МоиОтчеты Облако. |
Gateway__ExcludePaths__0 |
string | Список путей, к которым можно получить доступ даже при выключенном доступе к МоиОтчеты Облако. Число указывает порядковый номер в списке. |
Gateway__IsSignInRequired |
boolean | Включает или отключает необходимость входа для пользователя для доступа к МоиОтчеты Облако. |
Раздел Services
Позволяет конфигурировать список сервисов для маршрутизации шлюза.
{
"Services":{
"HealthCheckInterval":30,
"Items":{
"<name>":{
"Urls":[
"http://localhost:5555"
],
"Scheme":"http",
"Port":5555,
"K8sServiceName":"fr-rp",
"HostType":"WebApp",
"PathBase":"/api/rp/swagger",
"Namespace":"fr-cloud",
"Type":"K8s",
"PingPath":"/api/rp/v1/healthcheck",
"IsSignInRequired":true,
"Priority":10,
"PingResponseCode":200,
"LoadBalanceMode":"Random",
"HealthCheckAttemptsNumber":3,
"WhiteListClaims":{
"<claim_name>":"<claim_value>"
}
}
}
}
}
| Ключ | Тип | Описание |
|---|---|---|
Services__HealthCheckInterval |
integer | Интервал для проверки работоспособности сервисов, задаётся в секундах. |
Services__Items__<name>__Urls__0 |
string (url) | Список url адресов для доступа к статичным сервисам. Число указывает порядковый номер в списке. |
Services__Items__<name>__Scheme |
string | Схема доступа к сервису: http или https. |
Services__Items__<name>__Port |
integer | Порт доступа к сервису. |
Services__Items__<name>__K8sServiceName |
string | Название сервиса в Kubernetes. |
Services__Items__<name>__HostType |
string | Тип сервиса для обработки перенаправления шлюзом, может принимать значения: WebApp, API, External, Websocket. |
Services__Items__<name>__PathBase |
string | Базовый путь для сервиса. |
Services__Items__<name>__Namespace |
string | Пространство имён сервиса в Kubernetes. |
Services__Items__<name>__Type |
string | Тип сервиса для обработки доступа шлюзом; может принимать значения: Static, K8s. |
Services__Items__<name>__PingPath |
string | Часть строки запроса для получения информации о состоянии сервиса. |
Services__Items__<name>__IsSignInRequired |
string | Указывает необходимость авторизации перед получением доступа к сервису пользователям. |
Services__Items__<name>__Priority |
number | Приоритет сервиса перед другими; значение меньше значит сильнее. |
Services__Items__<name>__PingResponseCode |
integer | Статус код ответа, который будет ожидаться от healthcheck. |
Services__Items__<name>__LoadBalanceMode |
string | Указывает тип балансировки нагрузки для этого сервиса; может принимать одно из значений: Random, AverageMetric. |
Services__Items__<name>__HealthCheckAttemptsNumber |
integer | Количество попыток проверить состояния сервиса. |
Services__Items__<name>__WhiteListClaims__<claim_name> |
string | Указывает утверждение у пользователя для получения доступа к сервису. |
Вместо <name> следует использовать имя сервиса; список сервисов можно посмотреть в файле appsettings.json.
Раздел Constants
Позволяет устанавливать ограничения на размер тела запроса в приложении.
{
"Constants": {
"LimitsMaxRequestBodySize": 2097152000
}
}
| Ключ | Тип | Описание |
|---|---|---|
Constants__LimitsMaxRequestBodySize |
long | Максимальный размер тела запроса. При превышении данного ограничения запрос будет отклонен. |
Дополнительный раздел Migrations для MainConfig
Позволяет настраивать конфигурацию применения миграций.
{
"MainConfig": {
"Migrations": {
"DataBaseCheckInterval": 1,
"LockDoubleCheckInterval": 5,
"MigrationTimeOut": 60
}
}
}
| Ключ | Тип | Описание |
|---|---|---|
MainConfig__Migrations__DataBaseCheckInterval |
double | Интервал (в секундах) проверки наличия доступа к базе данных перед запуском миграций. По умолчанию: 1. |
MainConfig__Migrations__LockDoubleCheckInterval |
double | Интервал (в секундах) для повторной проверки блокировки миграции. Может потребоваться увеличить, если используется репликасет с задержкой. По умолчанию: 5. |
MainConfig__Migrations__MigrationTimeOut |
double | Время ожидания выполнения миграции (в секундах), после которого происходит таймаут. По умолчанию: 60. |
Дополнительный раздел InternalHeaders для MainConfig
Раздел InternalHeaders используется для настройки внутренней авторизации между сервисами системы.
Каждый сервис должен использовать уникальный ключ для идентификации при внутреннем взаимодействии. Эти ключи должны быть сгенерированы пользователем самостоятельно — использование значений из примера недопустимо в целях безопасности.
{
"Designer": {
"BackendUrl": "http://fr-backend.fr-cloud:80",
"InternalKey": "fc51a5d6-95c3-4679-8c03-c9ac6536bf5d"
},
"Fonts": {
"BackendUrl": "http://fr-backend.fr-cloud:80",
"InternalKey": "22788120-f7cd-43f2-938b-327d6c3ceed4"
},
"Scheduler": {
"BackendUrl": "http://fr-backend.fr-cloud:80",
"InternalKey": "9da6cb50-8796-42cc-b3a7-53c1761f0ac9"
},
"WorkerCore": {
"BackendUrl": "http://fr-backend.fr-cloud:80",
"InternalKey": "ee444483-e0f1-4ec2-9b4e-5cbacdfaa07f"
},
"Gateway": {
"BackendUrl": "http://fr-backend.fr-cloud:80",
"InternalKey": "4632ab6a-3e20-4430-9f13-2fe1851809db"
},
"MainConfig": {
"InternalHeaders": {
"ee444483-e0f1-4ec2-9b4e-5cbacdfaa07f": "000000000000000000000001",
"fc51a5d6-95c3-4679-8c03-c9ac6536bf5d": "000000000000000000000002",
"4632ab6a-3e20-4430-9f13-2fe1851809db": "000000000000000000000003",
"9da6cb50-8796-42cc-b3a7-53c1761f0ac9": "000000000000000000000004",
"22788120-f7cd-43f2-938b-327d6c3ceed4": "000000000000000000000005"
}
}
}
| Ключ | Тип | Описание |
|---|---|---|
Designer__BackendUrl |
string | URL бэкенда сервиса Designer. |
Designer__InternalKey |
string | Уникальный ключ для внутренней авторизации Designer. |
Fonts__BackendUrl |
string | URL бэкенда сервиса Fonts. |
Fonts__InternalKey |
string | Уникальный ключ для внутренней авторизации Fonts. |
Scheduler__BackendUrl |
string | URL бэкенда сервиса Scheduler. |
Scheduler__InternalKey |
string | Уникальный ключ для внутренней авторизации Scheduler. |
WorkerCore__BackendUrl |
string | URL бэкенда сервиса WorkerCore. |
WorkerCore__InternalKey |
string | Уникальный ключ для внутренней авторизации WorkerCore. |
Gateway__BackendUrl |
string | URL бэкенда сервиса Gateway. |
Gateway__InternalKey |
string | Уникальный ключ для внутренней авторизации Gateway. |
MainConfig__InternalHeaders__<ключ> |
string | Сопоставление InternalKey — внутреннего идентификатора сервиса. |
Важно: ключи
InternalKeyи соответствующие им значения вInternalHeadersдолжны быть уникальными и сгенерированы пользователем. Использование значений из примера недопустимо.
Рекомендации по генерации ключей
- Ключи могут быть представлены в формате GUID или произвольной сложной строкой.
- Рекомендуется использовать криптографически безопасные генераторы случайных строк.
- Ключи должны быть достаточно длинными и уникальными, чтобы исключить возможность коллизий или подбора.