• Post category:Настройки
  • Запись изменена:15.04.2024

Введение

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

Для Linux — /etc/r7-office/documentserver/default.json.
Для Windows — %ProgramFiles%\R7-OFFICE\DocumentServer\config\default.json.

Если вы хотите его изменить, вы можете использовать файл local.json, в котором должны храниться все редактируемые параметры. Этот файл находится в том же каталоге, что и файл default.json, и вся структура объекта для необходимого параметра должна быть сохранена.

Пожалуйста, не редактируйте содержимое файла default.json напрямую. Значения по умолчанию будут восстанавливаться каждый раз, когда вы перезапускаете Docker-контейнер или обновляете Сервер документов до новой версии, и все ваши изменения будут потеряны.

Настройки сервера по умолчанию описаны ниже.

StatsD

ПараметрОписаниеТипПо умолчанию
statsd.useMetricsОпределяет, включены ли метрики StatsD для Сервера документов или нет.логическийfalse
statsd.hostОпределяет хост сервера StatsD (имя хоста или IP-адрес).строковый"localhost"
statsd.portОпределяет порт сервера StatsD.строковый"8125"
statsd.prefixОпределяет строку, которая будет автоматически добавлена в начало всей статистики. Это помогает различать разные приложения, использующие один и тот же сервер StatsD.строковый"ds."

Эти параметры определяют свойства сервера StatsD, определяющие агрегатор метрик.

Пример

"statsd": {
    "useMetrics": false,
    "host": "localhost",
    "port": "8125",
    "prefix": "ds."
}

Logger

ПараметрОписаниеТипПо умолчанию
log.filePathОпределяет путь к файлу журнала.строковый""
log.optionsОпределяет параметры журнала.объект
log.options.replaceConsoleОпределяет, выводится ли информация журнала на консоль или нет.логическийtrue

Эти параметры определяют свойства регистратора.

Пример

"log": {
    "filePath": "",
    "options": {
        "replaceConsole": true
    }
}

Queues

ПараметрОписаниеТипПо умолчанию
queue.typeОпределяет тип брокера сообщений.строковый"rabbitmq"
queue.visibilityTimeoutОпределяет время ожидания преобразования (измеряется в секундах).целое число300
queue.retentionPeriodОпределяет TTL (время жизни) всех сообщений в очереди (измеряется в секундах).целое число900

Эти параметры определяют очередь сообщений, полученных от брокера сообщений.

Пример

"queue": {
    "type": "rabbitmq",
    "visibilityTimeout": 300,
    "retentionPeriod": 900
}

Служба хранения документов

ПараметрОписаниеТипПо умолчанию
storage.nameОпределяет имя службы хранения документов.строковый"storage-fs"
storage.fsОпределяет параметры объекта файловой системы.объект
storage.fs.folderPathОпределяет путь к папке App_Data, в которой хранятся все файлы.строковый""
storage.fs.urlExpiresОпределяет время истечения срока действия временного URL-адреса объекта файловой системы (измеряется в секундах).целое число900
storage.fs.secretStringОпределяет секретную строку, которая используется для подписи URL-адреса.строковый"verysecretstring"
storage.regionОпределяет регион AWS, в котором находится ваша корзина Amazon.строковый""
storage.endpointОпределяет конечную точку хранилища документов S3 AWS.строковый"http://localhost/s3"
storage.bucketNameОпределяет уникальное имя хранилища документов S3 AWS.строковый"cache"
storage.storageFolderNameОпределяет имя папки хранилища документов S3 AWS, в которой хранятся все файлы.строковый"files"
storage.cacheFolderNameОпределяет имя папки кэша для работы в мультитенантном режиме.строковый"data"
storage.urlExpiresОпределяет время истечения срока действия URL-адреса хранилища документов S3 AWS (измеряется в миллисекундах).целое число604800
storage.accessKeyIdОпределяет идентификатор ключа для доступа к хранилищу документов S3 AWS.строковый"AKID"
storage.secretAccessKeyОпределяет секретный ключ для доступа к хранилищу документов S3 AWS.строковый"SECRET"
storage.sslEnabledОпределяет, включен ли SSL хранилища документов S3 AWS или нет.логическийfalse
storage.s3ForcePathStyleОпределяет, всегда ли запросы к хранилищу документов S3 AWS используют адресацию в стиле пути.логическийtrue
storage.externalHostОпределяет внешний хост, который используется вместо хоста, указанного в запросе.строковый""

Эти параметры определяют конфигурацию службы хранения документов.

Пример

"storage": {
    "name": "storage-fs",
    "fs": {
        "folderPath": "",
        "urlExpires": 900,
        "secretString": "verysecretstring"
    },
    "region": "",
    "endpoint": "http://localhost/s3",
    "bucketName": "cache",
    "storageFolderName": "files",
    "cacheFolderName": "data",
    "urlExpires": 604800,
    "accessKeyId": "AKID",
    "secretAccessKey": "SECRET",
    "sslEnabled": false,
    "s3ForcePathStyle": true,
    "externalHost": ""
}

RabbitMQ

ПараметрОписаниеТипПо умолчанию
rabbitmq.urlОпределяет URL-адрес RabbitMQ.строковый"amqp://guest:guest@localhost:5672"
rabbitmq.socketOptionsОпределяет параметры сокета RabbitMQ, которые будут переданы в библиотеку сокетов (net или tls). Эти параметры должны быть полями, установленными в предоставленном объекте. Параметры сокета могут использоваться для SSL-соединения и могут содержать следующие поля:

  • cert — определяет сертификат, который будет представлен серверу (в формате PEM или pkcs12),
    тип: строка,
    пример: «»;
  • key — определяет закрытый ключ сертификата (в формате PEM или pkcs12),
    тип: строка,
    пример: «»;
  • passphrase — определяет парольную фразу для закрытого ключа,
    тип: строка,
    пример: «МойСекретныйПароль»;
  • ca — определяет список сертификатов CA в формате PEM, которым мы будем доверять, поскольку мы используем самозаверенный сертификат,
    тип: массив,
    пример: [];
  • noDelay — определяет, установлен ли TCP_NODELAY (алгоритм Нэгла) для базового сокета или нет,
    тип: логический,
    пример: правда.
объект{}
rabbitmq.exchangepubsubОпределяет сервер обмена подписчиками издателя.строковый"ds.pubsub"
rabbitmq.queueconverttaskОпределяет очередь задач.строковый"ds.converttask"
rabbitmq.queueconvertresponseОпределяет очередь ответов.строковый"ds.convertresponse"
rabbitmq.exchangeconvertdeadОпределяет обмен недоставленными письмами.строковый"ds.exchangeconvertdead"
rabbitmq.queueconvertdeadОпределяет очередь недоставленных писем.строковый"ds.convertdead"
rabbitmq.queuedelayedОпределяет задержанную очередь.строковый"ds.delayed"

Эти параметры определяют конфигурацию брокера сообщений RabbitMQ.

Пример

"rabbitmq": {
    "url": "amqp://guest:guest@localhost:5672",
    "socketOptions": {},
    "exchangepubsub": "ds.pubsub",
    "queueconverttask": "ds.converttask",
    "queueconvertresponse": "ds.convertresponse",
    "exchangeconvertdead": "ds.exchangeconvertdead",
    "queueconvertdead": "ds.convertdead",
    "queuedelayed": "ds.delayed"
}

ActiveMQ

 

ПараметрОписаниеТипПо умолчанию
activemq.connectOptionsОпределяет параметры подключения ActiveMQ.объект
activemq.connectOptions.portОпределяет порт сервера, к которому подключен контейнер ActiveMQ.целое число5672
activemq.connectOptions.hostОпределяет хост (имя хоста или IP-адрес) сервера, к которому подключен контейнер ActiveMQ.строковый"localhost"
activemq.connectOptions.reconnectОпределяет, будет ли модуль ActiveMQ автоматически пытаться повторно подключиться в случае отключения (истина) или нет (ложь).логическийfalse
activemq.queueconverttaskОпределяет очередь задач.строковый"ds.converttask"
activemq.queueconvertresponseОпределяет очередь ответов.строковый"ds.convertresponse"
activemq.queueconvertdeadОпределяет очередь недоставленных писем.строковый"ActiveMQ.DLQ"
activemq.queuedelayedОпределяет задержанную очередь.строковый"ds.delayed"
activemq.topicpubsubОпределяет тему подписчика издателя.строковый"ds.pubsub"

Эти параметры определяют конфигурацию брокера сообщений ActiveMQ.

Пример

"activemq": {
    "connectOptions": {
        "port": 5672,
       "host": "localhost",
       "reconnect": false
},
     "queueconverttask": "ds.converttask",
     "queueconvertresponse": "ds.convertresponse",
     "queueconvertdead": "ActiveMQ.DLQ",
     "queuedelayed": "ds.delayed",
     "topicpubsub": "ds.pubsub"
}

DNS кэш

ПараметрОписаниеТипПо умолчанию
dnscache.enableОпределяет, включен ли кэш DNS или нет.логическийtrue
dnscache.ttlОпределяет время истечения срока действия записей DNS (измеряется в секундах).целое число300
dnscache.cachesizeОпределяет размер кэша DNS.целое число1000

Эти параметры определяют конфигурацию DNS-кэша, который используется для IP-фильтра.

Пример

"dnscache": {
    "enable" : true,
    "ttl" : 300,
    "cachesize" : 1000
}

Протокол OpenPGP

ПараметрОписаниеТипПо умолчанию
openpgpjs.configОпределяет конфигурацию протокола OpenPGP.объект{}
openpgpjs.encryptОпределяет настройки шифрования OpenPGP.объект
openpgpjs.encrypt.passwordsОпределяет пароль, который используется для шифрования OpenPGP.массив строк["verysecretstring"]
openpgpjs.decryptОпределяет настройки дешифрования OpenPGP.объект
openpgpjs.decrypt.passwordsОпределяет пароль, который используется для расшифровки OpenPGP.массив строк["verysecretstring"]

Эти параметры определяют настройки протокола OpenPGP, который используется для шифрования пароля при открытии зашифрованного документа для редактирования.

Пример

"openpgpjs": {
     "config": {
     },
    "encrypt": {
         "passwords": ["verysecretstring"]
    },
    "decrypt": {
        "passwords": ["verysecretstring"]
     }
}

Bottleneck

ПараметрОписаниеТипПо умолчанию
bottleneck.getChangesОпределяет параметры конструктора для создания ограничителей для регулирования запросов к базе данных.объект{}

Этот параметр определяет конфигурацию узкого места.

Пример

"bottleneck": {
     "getChanges": {
     }
}

WOPI

ПараметрОписаниеТипПо умолчанию
wopi.enableОпределяет, включен ли WOPI или нет.логическийfalse
wopi.hostОпределяет хост WOPI (имя хоста или IP-адрес).строковый""
wopi.htmlTemplateОпределяет путь к HTML-шаблону WOPI.строковый"../../web-apps/apps/api/wopi"
wopi.wopiZoneОпределяет зону, которую Сервер документов использует для перехода браузера к приложению WOPI.строковый"external-http"
wopi.favIconUrlWordОпределяет путь к значку редактора документов.строковый"/web-apps/apps/documenteditor/main/resources/img/favicon.ico"
wopi.favIconUrlCellОпределяет путь к значку редактора электронных таблиц.строковый"/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico"
wopi.favIconUrlSlideОпределяет путь к значку редактора презентаций.строковый"/web-apps/apps/presentationeditor/main/resources/img/favicon.ico"
wopi.fileInfoBlockListОпределяет список параметров информации о файле WOPI, которые блокируются при отправке этого массива в браузер. Однако эти параметры доступны на сервере.массив строк["FileUrl"]
wopi.wordViewОпределяет типы файлов, которые можно просмотреть в редакторе документов.массив строк["pdf", "djvu", "xps", "oxps", "doc", "dotx", "dotm", "dot", "fodt", "ott", "rtf", "mht", "mhtml", "html", "htm", "xml", "epub", "fb2", "sxw", "stw", "wps", "wpt"]
wopi.wordEditОпределяет типы файлов, которые можно редактировать в редакторе документов.массив строк["docx", "docm", "docxf", "oform", "odt", "txt"]
wopi.cellViewОпределяет типы файлов, которые можно просмотреть в редакторе электронных таблиц.массив строк["xls", "xlsb", "xltx", "xltm", "xlt", "fods", "ots", "sxc", "xml", "et", "ett"]
wopi.cellEditОпределяет типы файлов, которые можно редактировать в редакторе электронных таблиц.массив строк["xlsx", "xlsm", "ods", "csv"]
wopi.slideViewОпределяет типы файлов, которые можно просмотреть в редакторе презентаций.массив строк["ppt", "ppsx", "ppsm", "pps", "potx", "potm", "pot", "fodp", "otp", "sxi", "dps", "dpt"]
wopi.slideEditОпределяет типы файлов, которые можно редактировать в редакторе презентаций.массив строк["pptx", "pptm", "odp"]
wopi.publicKeyОпределяет открытый ключ, который интегратор использует для проверки закрытого ключа.массив строк"BgIAAACkAABSU0ExAAgAAAEAAQD/NVqekFNi8X3p6Bvdlaxm0GGuggW5kKfVEQzPGuOkGVrz6DrOMNR+k7Pq8tONY+1NHgS6Z+v3959em78qclVDuQX77Tkml0xMHAQHN4sAHF9iQJS8gOBUKSVKaHD7Z8YXch6F212YSUSc8QphpDSHWVShU7rcUeLQsd/0pkflh5+um4YKEZhm4Mou3vstp5p12NeffyK1WFZF7q4jB7jclAslYKQsP82YY3DcRwu5Tl/+W0ifVcXze0mI7v1reJ12pKn8ifRiq+0q5oJST3TRSrvmjLg9Gt3ozhVIt2HUi3La7Qh40YOAUXm0g/hUq2BepeOp1C7WSvaOFHXe6Hqq"
wopi.modulusОпределяет модуль RSA в формате с кодировкой Base64, который используется для получения открытого ключа.массив строк"qnro3nUUjvZK1i7UqeOlXmCrVPiDtHlRgIPReAjt2nKL1GG3SBXO6N0aPbiM5rtK0XRPUoLmKu2rYvSJ/Kmkdp14a/3uiEl788VVn0hb/l9OuQtH3HBjmM0/LKRgJQuU3LgHI67uRVZYtSJ/n9fYdZqnLfveLsrgZpgRCoabrp+H5Uem9N+x0OJR3LpToVRZhzSkYQrxnERJmF3bhR5yF8Zn+3BoSiUpVOCAvJRAYl8cAIs3BwQcTEyXJjnt+wW5Q1VyKr+bXp/39+tnugQeTe1jjdPy6rOTftQwzjro81oZpOMazwwR1aeQuQWCrmHQZqyV3Rvo6X3xYlOQnlo1/w=="
wopi.exponentОпределяет показатель RSA в формате с кодировкой Base64, который используется для получения открытого ключа.массив строк"AQAB"
wopi.privateKeyОпределяет закрытый ключ, который подписывает запрос Сервера документов.массив строк"MIIEowIBAAKCAQEAqnro3nUUjvZK1i7UqeOlXmCrVPiDtHlRgIPReAjt2nKL1GG3SBXO6N0aPbiM5rtK0XRPUoLmKu2rYvSJ/Kmkdp14a/3uiEl788VVn0hb/l9OuQtH3HBjmM0/LKRgJQuU3LgHI67uRVZYtSJ/n9fYdZqnLfveLsrgZpgRCoabrp+H5Uem9N+x0OJR3LpToVRZhzSkYQrxnERJmF3bhR5yF8Zn+3BoSiUpVOCAvJRAYl8cAIs3BwQcTEyXJjnt+wW5Q1VyKr+bXp/39+tnugQeTe1jjdPy6rOTftQwzjro81oZpOMazwwR1aeQuQWCrmHQZqyV3Rvo6X3xYlOQnlo1/wIDAQABAoIBAQCKtUSBs8tNYrGTQTlBHXrwpkDg+u7WSZt5sEcfnkxA39BLtlHU8gGO0E9Ihr8GAL+oWjUsEltJ9GTtN8CJ9lFdPVS8sTiCZR/YQOggmFRZTJyVzMrkXgF7Uwwiu3+KxLiTOZx9eRhfDBlTD8W9fXaegX2i2Xp2ohUhBHthEBLdaZTWFi5Sid/Y0dDzBeP6UIJorZ5D+1ybaeIVHjndpwNsIEUGUxPFLrkeiU8Rm4MJ9ahxfywcP7DjQoPGY9Ge5cBhpxfzERWf732wUD6o3+L9tvOBU00CLVjULbGZKTVE2FJMyXK9jr6Zor9Mkhomp6/8Agkr9rp+TPyelFGYEz8hAoGBAOEc09CrL3eYBkhNEcaMQzxBLvOGpg8kaDX5SaArHfl9+U9yzRqss4ARECanp9HuHfjMQo7iejao0ngDjL7BNMSaH74QlSsPOY2iOm8Qvx8/zb7g4h9r1zLjFZb3mpSA4snRZvvdiZ9ugbuVPmhXnDzRRMg45MibJeeOTJNylofRAoGBAMHfF/WutqKDoX25qZo9m74W4bttOj6oIDk1N4/c6M1Z1v/aptYSE06bkWngj9P46kqjaay4hgMtzyGruc5aojPx5MHHf5bo14+Jv4NzYtR2llrUxO+UJX7aCfUYXI7RC93GUmhpeQ414j7SNAXec58d7e+ETw+6cHiAWO4uOSTPAoGATPq5qDLR4Zi4FUNdn8LZPyKfNqHF6YmupT5hIgd8kZO1jKiaYNPL8jBjkIRmjBBcaXcYD5p85nImvumf2J9jNxPpZOpwyC/Fo5xlVROp97qu1eY7DTmodntXJ6/2SXAlnZQhHmHsrPtyG752f+HtyJJbbgiem8cKWDu+DfHybfECgYBbSLo1WiBwgN4nHqZ3E48jgA6le5azLeKOTTpuKKwNFMIhEkj//t7MYn+jhLL0Mf3PSwZU50Vidc1To1IHkbFSGBGIFHFFEzl8QnXEZS4hr/y3o/teezj0c6HAn8nlDRUzRVBEDXWMdV6kCcGpCccTIrqHzpqTY0vV0UkOTQFnDQKBgAxSEhm/gtCYJIMCBe+KBJT9uECV5xDQopTTjsGOkd4306EN2dyPOIlAfwM6K/0qWisa0Ei5i8TbRRuBeTTdLEYLqXCJ7fj5tdD1begBdSVtHQ2WHqzPJSuImTkFi9NXxd1XUyZFM3y6YQvlssSuL7QSxUIEtZHnrJTt3QDd10dj"
wopi.publicKeyOldОпределяет старый открытый ключ, который интегратор использовал для проверки закрытого ключа.массив строк"BgIAAACkAABSU0ExAAgAAAEAAQD/NVqekFNi8X3p6Bvdlaxm0GGuggW5kKfVEQzPGuOkGVrz6DrOMNR+k7Pq8tONY+1NHgS6Z+v3959em78qclVDuQX77Tkml0xMHAQHN4sAHF9iQJS8gOBUKSVKaHD7Z8YXch6F212YSUSc8QphpDSHWVShU7rcUeLQsd/0pkflh5+um4YKEZhm4Mou3vstp5p12NeffyK1WFZF7q4jB7jclAslYKQsP82YY3DcRwu5Tl/+W0ifVcXze0mI7v1reJ12pKn8ifRiq+0q5oJST3TRSrvmjLg9Gt3ozhVIt2HUi3La7Qh40YOAUXm0g/hUq2BepeOp1C7WSvaOFHXe6Hqq"
wopi.modulusOldОпределяет старый модуль RSA в формате с кодировкой Base64, который использовался для получения открытого ключа.массив строк"qnro3nUUjvZK1i7UqeOlXmCrVPiDtHlRgIPReAjt2nKL1GG3SBXO6N0aPbiM5rtK0XRPUoLmKu2rYvSJ/Kmkdp14a/3uiEl788VVn0hb/l9OuQtH3HBjmM0/LKRgJQuU3LgHI67uRVZYtSJ/n9fYdZqnLfveLsrgZpgRCoabrp+H5Uem9N+x0OJR3LpToVRZhzSkYQrxnERJmF3bhR5yF8Zn+3BoSiUpVOCAvJRAYl8cAIs3BwQcTEyXJjnt+wW5Q1VyKr+bXp/39+tnugQeTe1jjdPy6rOTftQwzjro81oZpOMazwwR1aeQuQWCrmHQZqyV3Rvo6X3xYlOQnlo1/w=="
wopi.exponentOldОпределяет старый показатель RSA в формате с кодировкой Base64, который использовался для получения открытого ключа.массив строк"AQAB"
wopi.privateKeyOldОпределяет старый закрытый ключ, которым подписывался запрос Сервера документов.массив строк"MIIEowIBAAKCAQEAqnro3nUUjvZK1i7UqeOlXmCrVPiDtHlRgIPReAjt2nKL1GG3SBXO6N0aPbiM5rtK0XRPUoLmKu2rYvSJ/Kmkdp14a/3uiEl788VVn0hb/l9OuQtH3HBjmM0/LKRgJQuU3LgHI67uRVZYtSJ/n9fYdZqnLfveLsrgZpgRCoabrp+H5Uem9N+x0OJR3LpToVRZhzSkYQrxnERJmF3bhR5yF8Zn+3BoSiUpVOCAvJRAYl8cAIs3BwQcTEyXJjnt+wW5Q1VyKr+bXp/39+tnugQeTe1jjdPy6rOTftQwzjro81oZpOMazwwR1aeQuQWCrmHQZqyV3Rvo6X3xYlOQnlo1/wIDAQABAoIBAQCKtUSBs8tNYrGTQTlBHXrwpkDg+u7WSZt5sEcfnkxA39BLtlHU8gGO0E9Ihr8GAL+oWjUsEltJ9GTtN8CJ9lFdPVS8sTiCZR/YQOggmFRZTJyVzMrkXgF7Uwwiu3+KxLiTOZx9eRhfDBlTD8W9fXaegX2i2Xp2ohUhBHthEBLdaZTWFi5Sid/Y0dDzBeP6UIJorZ5D+1ybaeIVHjndpwNsIEUGUxPFLrkeiU8Rm4MJ9ahxfywcP7DjQoPGY9Ge5cBhpxfzERWf732wUD6o3+L9tvOBU00CLVjULbGZKTVE2FJMyXK9jr6Zor9Mkhomp6/8Agkr9rp+TPyelFGYEz8hAoGBAOEc09CrL3eYBkhNEcaMQzxBLvOGpg8kaDX5SaArHfl9+U9yzRqss4ARECanp9HuHfjMQo7iejao0ngDjL7BNMSaH74QlSsPOY2iOm8Qvx8/zb7g4h9r1zLjFZb3mpSA4snRZvvdiZ9ugbuVPmhXnDzRRMg45MibJeeOTJNylofRAoGBAMHfF/WutqKDoX25qZo9m74W4bttOj6oIDk1N4/c6M1Z1v/aptYSE06bkWngj9P46kqjaay4hgMtzyGruc5aojPx5MHHf5bo14+Jv4NzYtR2llrUxO+UJX7aCfUYXI7RC93GUmhpeQ414j7SNAXec58d7e+ETw+6cHiAWO4uOSTPAoGATPq5qDLR4Zi4FUNdn8LZPyKfNqHF6YmupT5hIgd8kZO1jKiaYNPL8jBjkIRmjBBcaXcYD5p85nImvumf2J9jNxPpZOpwyC/Fo5xlVROp97qu1eY7DTmodntXJ6/2SXAlnZQhHmHsrPtyG752f+HtyJJbbgiem8cKWDu+DfHybfECgYBbSLo1WiBwgN4nHqZ3E48jgA6le5azLeKOTTpuKKwNFMIhEkj//t7MYn+jhLL0Mf3PSwZU50Vidc1To1IHkbFSGBGIFHFFEzl8QnXEZS4hr/y3o/teezj0c6HAn8nlDRUzRVBEDXWMdV6kCcGpCccTIrqHzpqTY0vV0UkOTQFnDQKBgAxSEhm/gtCYJIMCBe+KBJT9uECV5xDQopTTjsGOkd4306EN2dyPOIlAfwM6K/0qWisa0Ei5i8TbRRuBeTTdLEYLqXCJ7fj5tdD1begBdSVtHQ2WHqzPJSuImTkFi9NXxd1XUyZFM3y6YQvlssSuL7QSxUIEtZHnrJTt3QDd10dj"
wopi.refreshLockIntervalОпределяет интервал времени в минутах для обновления блокировки файла путем сброса таймера автоматического истечения срока его действия на 30 минут.массив строк"10m"

Эти параметры определяют конфигурацию протокола WOPI.

Пример

"wopi": {
"enable": false,
"host" : "",
"htmlTemplate" : "../../web-apps/apps/api/wopi",
"wopiZone" : "external-http",
"favIconUrlWord" : "/web-apps/apps/documenteditor/main/resources/img/favicon.ico",
"favIconUrlCell" : "/web-apps/apps/spreadsheeteditor/main/resources/img/favicon.ico",
"favIconUrlSlide" : "/web-apps/apps/presentationeditor/main/resources/img/favicon.ico",
"fileInfoBlockList" : ["FileUrl"],
"wordView": ["pdf", "djvu", "xps", "oxps", "doc", "dotx", "dotm", "dot", "fodt", "ott", "rtf", "mht", "mhtml", "html", "htm", "xml", "epub", "fb2", "sxw", "stw", "wps", "wpt"],
"wordEdit": ["docx", "docm", "docxf", "oform", "odt", "txt"],
"cellView": ["xls", "xlsb", "xltx", "xltm", "xlt", "fods", "ots", "sxc", "xml", "et", "ett"],
"cellEdit": ["xlsx", "xlsm", "ods", "csv"],
"slideView": ["ppt", "ppsx", "ppsm", "pps", "potx", "potm", "pot", "fodp", "otp", "sxi", "dps", "dpt"],
"slideEdit": ["pptx", "pptm", "odp"],
"publicKey": "BgIAAACkAABSU0ExAAgAAAEAAQD/NVqekFNi8X3p6Bvdlaxm0GGuggW5kKfVEQzPGuOkGVrz6DrOMNR+k7Pq8tONY+1NHgS6Z+v3959em78qclVDuQX77Tkml0xMHAQHN4sAHF9iQJS8gOBUKSVKaHD7Z8YXch6F212YSUSc8QphpDSHWVShU7rcUeLQsd/0pkflh5+um4YKEZhm4Mou3vstp5p12NeffyK1WFZF7q4jB7jclAslYKQsP82YY3DcRwu5Tl/+W0ifVcXze0mI7v1reJ12pKn8ifRiq+0q5oJST3TRSrvmjLg9Gt3ozhVIt2HUi3La7Qh40YOAUXm0g/hUq2BepeOp1C7WSvaOFHXe6Hqq",
"modulus": "qnro3nUUjvZK1i7UqeOlXmCrVPiDtHlRgIPReAjt2nKL1GG3SBXO6N0aPbiM5rtK0XRPUoLmKu2rYvSJ/Kmkdp14a/3uiEl788VVn0hb/l9OuQtH3HBjmM0/LKRgJQuU3LgHI67uRVZYtSJ/n9fYdZqnLfveLsrgZpgRCoabrp+H5Uem9N+x0OJR3LpToVRZhzSkYQrxnERJmF3bhR5yF8Zn+3BoSiUpVOCAvJRAYl8cAIs3BwQcTEyXJjnt+wW5Q1VyKr+bXp/39+tnugQeTe1jjdPy6rOTftQwzjro81oZpOMazwwR1aeQuQWCrmHQZqyV3Rvo6X3xYlOQnlo1/w==",
"exponent": "AQAB",
"privateKey": "MIIEowIBAAKCAQEAqnro3nUUjvZK1i7UqeOlXmCrVPiDtHlRgIPReAjt2nKL1GG3SBXO6N0aPbiM5rtK0XRPUoLmKu2rYvSJ/Kmkdp14a/3uiEl788VVn0hb/l9OuQtH3HBjmM0/LKRgJQuU3LgHI67uRVZYtSJ/n9fYdZqnLfveLsrgZpgRCoabrp+H5Uem9N+x0OJR3LpToVRZhzSkYQrxnERJmF3bhR5yF8Zn+3BoSiUpVOCAvJRAYl8cAIs3BwQcTEyXJjnt+wW5Q1VyKr+bXp/39+tnugQeTe1jjdPy6rOTftQwzjro81oZpOMazwwR1aeQuQWCrmHQZqyV3Rvo6X3xYlOQnlo1/wIDAQABAoIBAQCKtUSBs8tNYrGTQTlBHXrwpkDg+u7WSZt5sEcfnkxA39BLtlHU8gGO0E9Ihr8GAL+oWjUsEltJ9GTtN8CJ9lFdPVS8sTiCZR/YQOggmFRZTJyVzMrkXgF7Uwwiu3+KxLiTOZx9eRhfDBlTD8W9fXaegX2i2Xp2ohUhBHthEBLdaZTWFi5Sid/Y0dDzBeP6UIJorZ5D+1ybaeIVHjndpwNsIEUGUxPFLrkeiU8Rm4MJ9ahxfywcP7DjQoPGY9Ge5cBhpxfzERWf732wUD6o3+L9tvOBU00CLVjULbGZKTVE2FJMyXK9jr6Zor9Mkhomp6/8Agkr9rp+TPyelFGYEz8hAoGBAOEc09CrL3eYBkhNEcaMQzxBLvOGpg8kaDX5SaArHfl9+U9yzRqss4ARECanp9HuHfjMQo7iejao0ngDjL7BNMSaH74QlSsPOY2iOm8Qvx8/zb7g4h9r1zLjFZb3mpSA4snRZvvdiZ9ugbuVPmhXnDzRRMg45MibJeeOTJNylofRAoGBAMHfF/WutqKDoX25qZo9m74W4bttOj6oIDk1N4/c6M1Z1v/aptYSE06bkWngj9P46kqjaay4hgMtzyGruc5aojPx5MHHf5bo14+Jv4NzYtR2llrUxO+UJX7aCfUYXI7RC93GUmhpeQ414j7SNAXec58d7e+ETw+6cHiAWO4uOSTPAoGATPq5qDLR4Zi4FUNdn8LZPyKfNqHF6YmupT5hIgd8kZO1jKiaYNPL8jBjkIRmjBBcaXcYD5p85nImvumf2J9jNxPpZOpwyC/Fo5xlVROp97qu1eY7DTmodntXJ6/2SXAlnZQhHmHsrPtyG752f+HtyJJbbgiem8cKWDu+DfHybfECgYBbSLo1WiBwgN4nHqZ3E48jgA6le5azLeKOTTpuKKwNFMIhEkj//t7MYn+jhLL0Mf3PSwZU50Vidc1To1IHkbFSGBGIFHFFEzl8QnXEZS4hr/y3o/teezj0c6HAn8nlDRUzRVBEDXWMdV6kCcGpCccTIrqHzpqTY0vV0UkOTQFnDQKBgAxSEhm/gtCYJIMCBe+KBJT9uECV5xDQopTTjsGOkd4306EN2dyPOIlAfwM6K/0qWisa0Ei5i8TbRRuBeTTdLEYLqXCJ7fj5tdD1begBdSVtHQ2WHqzPJSuImTkFi9NXxd1XUyZFM3y6YQvlssSuL7QSxUIEtZHnrJTt3QDd10dj",
"publicKeyOld": "BgIAAACkAABSU0ExAAgAAAEAAQD/NVqekFNi8X3p6Bvdlaxm0GGuggW5kKfVEQzPGuOkGVrz6DrOMNR+k7Pq8tONY+1NHgS6Z+v3959em78qclVDuQX77Tkml0xMHAQHN4sAHF9iQJS8gOBUKSVKaHD7Z8YXch6F212YSUSc8QphpDSHWVShU7rcUeLQsd/0pkflh5+um4YKEZhm4Mou3vstp5p12NeffyK1WFZF7q4jB7jclAslYKQsP82YY3DcRwu5Tl/+W0ifVcXze0mI7v1reJ12pKn8ifRiq+0q5oJST3TRSrvmjLg9Gt3ozhVIt2HUi3La7Qh40YOAUXm0g/hUq2BepeOp1C7WSvaOFHXe6Hqq",
"modulusOld": "qnro3nUUjvZK1i7UqeOlXmCrVPiDtHlRgIPReAjt2nKL1GG3SBXO6N0aPbiM5rtK0XRPUoLmKu2rYvSJ/Kmkdp14a/3uiEl788VVn0hb/l9OuQtH3HBjmM0/LKRgJQuU3LgHI67uRVZYtSJ/n9fYdZqnLfveLsrgZpgRCoabrp+H5Uem9N+x0OJR3LpToVRZhzSkYQrxnERJmF3bhR5yF8Zn+3BoSiUpVOCAvJRAYl8cAIs3BwQcTEyXJjnt+wW5Q1VyKr+bXp/39+tnugQeTe1jjdPy6rOTftQwzjro81oZpOMazwwR1aeQuQWCrmHQZqyV3Rvo6X3xYlOQnlo1/w==",
"exponentOld": "AQAB",
"privateKeyOld": "MIIEowIBAAKCAQEAqnro3nUUjvZK1i7UqeOlXmCrVPiDtHlRgIPReAjt2nKL1GG3SBXO6N0aPbiM5rtK0XRPUoLmKu2rYvSJ/Kmkdp14a/3uiEl788VVn0hb/l9OuQtH3HBjmM0/LKRgJQuU3LgHI67uRVZYtSJ/n9fYdZqnLfveLsrgZpgRCoabrp+H5Uem9N+x0OJR3LpToVRZhzSkYQrxnERJmF3bhR5yF8Zn+3BoSiUpVOCAvJRAYl8cAIs3BwQcTEyXJjnt+wW5Q1VyKr+bXp/39+tnugQeTe1jjdPy6rOTftQwzjro81oZpOMazwwR1aeQuQWCrmHQZqyV3Rvo6X3xYlOQnlo1/wIDAQABAoIBAQCKtUSBs8tNYrGTQTlBHXrwpkDg+u7WSZt5sEcfnkxA39BLtlHU8gGO0E9Ihr8GAL+oWjUsEltJ9GTtN8CJ9lFdPVS8sTiCZR/YQOggmFRZTJyVzMrkXgF7Uwwiu3+KxLiTOZx9eRhfDBlTD8W9fXaegX2i2Xp2ohUhBHthEBLdaZTWFi5Sid/Y0dDzBeP6UIJorZ5D+1ybaeIVHjndpwNsIEUGUxPFLrkeiU8Rm4MJ9ahxfywcP7DjQoPGY9Ge5cBhpxfzERWf732wUD6o3+L9tvOBU00CLVjULbGZKTVE2FJMyXK9jr6Zor9Mkhomp6/8Agkr9rp+TPyelFGYEz8hAoGBAOEc09CrL3eYBkhNEcaMQzxBLvOGpg8kaDX5SaArHfl9+U9yzRqss4ARECanp9HuHfjMQo7iejao0ngDjL7BNMSaH74QlSsPOY2iOm8Qvx8/zb7g4h9r1zLjFZb3mpSA4snRZvvdiZ9ugbuVPmhXnDzRRMg45MibJeeOTJNylofRAoGBAMHfF/WutqKDoX25qZo9m74W4bttOj6oIDk1N4/c6M1Z1v/aptYSE06bkWngj9P46kqjaay4hgMtzyGruc5aojPx5MHHf5bo14+Jv4NzYtR2llrUxO+UJX7aCfUYXI7RC93GUmhpeQ414j7SNAXec58d7e+ETw+6cHiAWO4uOSTPAoGATPq5qDLR4Zi4FUNdn8LZPyKfNqHF6YmupT5hIgd8kZO1jKiaYNPL8jBjkIRmjBBcaXcYD5p85nImvumf2J9jNxPpZOpwyC/Fo5xlVROp97qu1eY7DTmodntXJ6/2SXAlnZQhHmHsrPtyG752f+HtyJJbbgiem8cKWDu+DfHybfECgYBbSLo1WiBwgN4nHqZ3E48jgA6le5azLeKOTTpuKKwNFMIhEkj//t7MYn+jhLL0Mf3PSwZU50Vidc1To1IHkbFSGBGIFHFFEzl8QnXEZS4hr/y3o/teezj0c6HAn8nlDRUzRVBEDXWMdV6kCcGpCccTIrqHzpqTY0vV0UkOTQFnDQKBgAxSEhm/gtCYJIMCBe+KBJT9uECV5xDQopTTjsGOkd4306EN2dyPOIlAfwM6K/0qWisa0Ei5i8TbRRuBeTTdLEYLqXCJ7fj5tdD1begBdSVtHQ2WHqzPJSuImTkFi9NXxd1XUyZFM3y6YQvlssSuL7QSxUIEtZHnrJTt3QDd10dj",
"refreshLockInterval": "10m"
}

Tenants

ПараметрОписаниеТипПо умолчанию
tenants.baseDirОпределяет каталог, ограничивающий файлы, к которым может получить доступ Сервер документов.строковый""
tenants.baseDomainОпределяет базовое доменное имя клиента.строковый""
tenants.filenameConfigОпределяет имя файла конфигурации в папке клиента для переопределения default.json. Он используется в мультитенантном режиме для инициализации определенных настроек арендатора (wopi, ipfilter, jwt secret и т. д.).строковый"config.json"
tenants.filenameSecretОпределяет имя файла .pem, в котором хранится секретный ключ клиента.строковый"secret.key"
tenants.filenameLicenseОпределяет имя файла, в котором хранится лицензия арендатора.строковый"license.lic"
tenants.defaultTenantОпределяет доменное имя клиента по умолчанию.строковый"localhost"
tenants.cacheОпределяет свойства кэша для чтения многопользовательской лицензии и секрета.объект
tenants.cache.stdTTLОпределяет TTL (время жизни) для каждого сгенерированного элемента кэша (измеряется в секундах).целое число300
tenants.cache.checkperiodОпределяет период, используемый для интервала автоматической проверки удаления (измеряется в секундах).целое число60
tenants.cache.useClonesОпределяет, будут ли клонированы кэшированные переменные или нет. Если true, будет создана копия кэшированной переменной. Если false, будет сохранена только ссылка.логическийfalse

Эти параметры определяют свойства арендаторов для работы в мультитенантном режиме.

Пример

"tenants": {
    "baseDir" : "",
    "baseDomain" : "",
    "filenameConfig" : "config.json",
    "filenameSecret" : "secret.key",
    "filenameLicense" : "license.lic",
    "defaultTenant" : "localhost",
    "cache": {
        "stdTTL": 300,
        "checkperiod": 60,
        "useClones": false
},
}

Сервис Сервера документов

Эти параметры определяют настройки служб Сервера документов.

ПараметрОписаниеТипПо умолчанию
services.CoAuthoringОпределяет настройки сеанса совместного редактирования.объект

 

Сервер

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.server.portОпределяет порт сервера.целое число8000
services.CoAuthoring.server.workerpercpuОпределяет количество рабочих потоков на один процессор.целое число1
services.CoAuthoring.server.modeОпределяет режим сервера (не изменяемый).строковый"development"
services.CoAuthoring.server.limits_tempfile_uploadОпределяет максимальный размер всех загружаемых временных файлов, используемых каждым процессом (измеряется в байтах).целое число104857600
services.CoAuthoring.server.limits_image_sizeОпределяет максимальный размер всех изображений, загружаемых в каждом процессе (измеряется в байтах).целое число26214400
services.CoAuthoring.server.limits_image_download_timeoutОпределяет свойства тайм-аута для загрузки изображений.объект
services.CoAuthoring.server.limits_image_download_timeout.connectionAndInactivityОпределяет период, который определяет два таймаута:

  • таймаут чтения — время ожидания отправки сервером заголовков ответа (и запуска тела ответа) перед прерыванием запроса;
  • таймаут соединения — устанавливает для сокета таймаут после таймаута неактивности. Обратите внимание, что увеличение тайм-аута сверх тайм-аута TCP-соединения всей ОС не будет иметь никакого эффекта.

Этот параметр отправляется в модуль npm.

строковый"2m"
services.CoAuthoring.server.limits_image_download_timeout.wholeCycleОпределяет весь цикл запроса — период от начала загрузки до полной загрузки.строковый"2m"
services.CoAuthoring.server.callbackRequestTimeoutОпределяет свойства тайм-аута для запроса обратного вызова.объект
services.CoAuthoring.server.callbackRequestTimeout.connectionAndInactivityОпределяет период, который определяет два таймаута:

  • таймаут чтения — время ожидания отправки сервером заголовков ответа (и запуска тела ответа) перед прерыванием запроса;
  • таймаут соединения — устанавливает для сокета таймаут после таймаута неактивности. Обратите внимание, что увеличение тайм-аута сверх тайм-аута TCP-соединения всей ОС не будет иметь никакого эффекта.

Этот параметр отправляется в модуль npm.

строковый"10m"
services.CoAuthoring.server.callbackRequestTimeout.wholeCycleОпределяет тайм-аут всего цикла запроса.строковый"10m"
services.CoAuthoring.server.healthcheckfilepathОпределяет путь, по которому будут отправляться запросы проверки работоспособности.строковый"../public/healthcheck.docx"
services.CoAuthoring.server.savetimeoutdelayОпределяет время задержки начала преобразования (измеряется в миллисекундах) после закрытия редактируемого файла.целое число5000
services.CoAuthoring.server.edit_singletonОпределяет, можно ли редактировать синглтон или нет.логическийfalse
services.CoAuthoring.server.forgottenfilesОпределяет имя папки, в которой хранятся все забытые файлы.строковый"forgotten"
services.CoAuthoring.server.forgottenfilesnameОпределяет забытое имя файла.строковый"output"
services.CoAuthoring.server.maxRequestChangesОпределяет максимальный размер изменений запроса.целое число20000
services.CoAuthoring.server.openProtectedFileОпределяет, можно ли открыть файлы, защищенные паролем, или нет.логическийtrue
services.CoAuthoring.server.isAnonymousSupportОпределяет, имеют ли анонимные пользователи доступ к редактору или средству просмотра в реальном времени или нет.логическийtrue
services.CoAuthoring.server.editorDataStorageОпределяет хранилище данных редактора.строковый"editorDataRedis"
services.CoAuthoring.server.assemblyFormatAsOriginОпределяет, сохраняется ли собранный файл в исходном формате или нет.логическийtrue
services.CoAuthoring.server.newFileTemplateОпределяет путь к «новому» шаблону файла, если по ссылке на открытие был получен файл размером 0 байт.строковый"../../document-templates/new"
services.CoAuthoring.server.downloadFileAllowExtОпределяет расширения, которые разрешено загружать через обработчик downloadFile.массив строк["pdf", "xlsx"]
services.CoAuthoring.server.tokenRequiredParamsОпределяет, будут ли проверяться необходимые параметры токена. Это необходимо для безопасности. Например, токен преобразования не будет использоваться для открытия документа.логическийtrue

Эти параметры определяют конфигурацию сервера.

Пример

"services": {
    "CoAuthoring": {
        "server": {
            "port": 8000,
             "workerpercpu": 1,
             "mode": "development",
             "limits_tempfile_upload": 104857600,
             "limits_image_size": 26214400,
             "limits_image_download_timeout": {
             "connectionAndInactivity": "2m",
             "wholeCycle": "2m"
             },
             "callbackRequestTimeout": {
             "connectionAndInactivity": "10m",
             "wholeCycle": "10m"
             },
             "healthcheckfilepath": "../public/healthcheck.docx",
             "savetimeoutdelay": 5000,
             "edit_singleton": false,
             "forgottenfiles": "forgotten",
             "forgottenfilesname": "output",
             "maxRequestChanges": 20000,
             "openProtectedFile": true,
             "isAnonymousSupport": true,
             "editorDataStorage": "editorDataRedis",
             "assemblyFormatAsOrigin": true,
             "newFileTemplate" : "../../document-templates/new",
             "downloadFileAllowExt": ["pdf", "xlsx"],
             "tokenRequiredParams" : true,
             "allowPrivateIPAddressForSignedRequests" : true
          }
     }
}

Стандартные запросы

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.requestDefault.headersОпределяет заголовки HTTP-запросов по умолчанию.объект
services.CoAuthoring.requestDefault.headers.User-AgentОпределяет заголовок запроса User-Agent по умолчанию.строковый"Node.js/6.13"
services.CoAuthoring.requestDefault.headers.ConnectionОпределяет заголовок запроса на подключение (Connection) по умолчанию.строковый"Keep-Alive"
services.CoAuthoring.requestDefault.gzipОпределяет, добавляется ли заголовок Accept-Encoding для запроса кодировок сжатого контента с сервера (если он еще не присутствует) и декодирования поддерживаемых кодировок контента в ответе.логическийtrue
services.CoAuthoring.requestDefault.rejectUnauthorizedОпределяет, будут ли сертификаты проверяться Сервером документов или нет.логическийtrue

Эти параметры определяют конфигурацию запроса по умолчанию.

Пример

"services": {
    "CoAuthoring": {
        "requestDefaults": {
            "headers": {
                 "User-Agent": "Node.js/6.13",
                 "Connection": "Keep-Alive"
            },
            "gzip": true,
            "rejectUnauthorized": true
        }
    }
}

Автосборка

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.autoAssembly.enableОпределяет, включено ли автоматическое принудительное сохранение или нетлогическийfalse
services.CoAuthoring.autoAssembly.intervalОпределяет интервал времени в минутах для запуска автоматического сохранениястроковый"5m"
services.CoAuthoring.autoAssembly.stepОпределяет задержку в минутах между интервалами.строковый"1m"

Эти параметры определяют конфигурацию автоматического принудительного сохранения.

Автоматическое принудительное сохранение будет инициировано только после внесения в документ некоторых изменений. Пустые версии не будут автоматически сохраняться принудительно. Кроме того, чтобы этот параметр работал, на стороне системы управления документами необходимо реализовать управление версиями файлов.

Пример

"services": {
    "CoAuthoring": {
        "autoAssembly": {
            "enable": false,
            "interval": "5m",
            "step": "1m"
        }
    }
}

Утилиты

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.utils.utils_common_fontdirОпределяет каталог, в котором хранятся все шрифты.строковый"null"
services.CoAuthoring.utils.utils_fonts_search_patternsОпределяет шаблоны поиска файлов шрифтов соответствующих расширений.строковый"*.ttf;*.ttc;*.otf"
services.CoAuthoring.utils.limits_image_types_uploadОпределяет поддерживаемые форматы изображений для загрузки.строковый"jpg;jpeg;jpe;png;gif;bmp;svg"

Эти параметры определяют конфигурацию утилит.

Пример

"services": {
    "CoAuthoring": {
        "utils": {
            "utils_common_fontdir": "null",
            "utils_fonts_search_patterns": "*.ttf;*.ttc;*.otf",
            "limits_image_types_upload": "jpg;jpeg;jpe;png;gif;bmp;svg"
        }
    }
}

SQL

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.sql.typeОпределяет тип базы данных (postgres, mariadb или mysql).строковый"postgres"
services.CoAuthoring.sql.tableChangesОпределяет имя таблицы базы данных, в которой хранятся все изменения документа.строковый"doc_changes"
services.CoAuthoring.sql.tableResultОпределяет имя таблицы базы данных, в которой сохраняется результат запроса.строковый"task_result"
services.CoAuthoring.sql.dbHostОпределяет хост сервера базы данных (имя хоста или IP-адрес).строковый"localhost"
services.CoAuthoring.sql.dbPortОпределяет порт сервера базы данных.целое число5432
services.CoAuthoring.sql.dbNameОпределяет имя базы данных, которая будет создана при запуске образа.строковый"ds"
services.CoAuthoring.sql.dbUserОпределяет новое имя пользователя с правами суперпользователя для учетной записи базы данных.строковый"ds"
services.CoAuthoring.sql.dbPassОпределяет пароль, установленный для учетной записи базы данных.строковый"ds"
services.CoAuthoring.sql.charsetОпределяет кодировку базы данных.строковый"utf8"
services.CoAuthoring.sql.connectionlimitОпределяет максимальное количество одновременных подключений пользователей к серверу базы данных.целое число10
services.CoAuthoring.sql.max_allowed_packetОпределяет максимальный размер данных, которые можно отправить за один запрос.целое число1048575
services.CoAuthoring.sql.pgPoolExtraOptionsОпределяет параметры, которые можно передавать непосредственно в библиотеку пула node-postgres.объект{}

Эти параметры определяют конфигурацию базы данных.

Пример

"services": {
    "CoAuthoring": {
         "sql": {
              "type": "postgres",
              "tableChanges": "doc_changes",
              "tableResult": "task_result",
              "dbHost": "localhost",
              "dbPort": 5432,
              "dbName": "ds",
              "dbUser": "ds",
              "dbPass": "ds",
              "charset": "utf8",
              "connectionlimit": 10,
              "max_allowed_packet": 1048575,
              "pgPoolExtraOptions": {}
         }
     }
}

Сервис PubSub

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.pubsub.maxChangesОпределяет максимальный размер изменений, которые могут быть переданы через PubSub. Если размер превышает указанное значение, изменения будут прочитаны из базы данных.целое число1000

Этот параметр определяет конфигурацию службы PubSub.

Пример

"services": {
     "CoAuthoring": {
         "pubsub": {
             "maxChanges": 1000
         }
     }
}

Срок действия

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.expire.saveLockОпределяет время сохранения блокировок.целое число60
services.CoAuthoring.expire.presenceОпределяет время существования статуса присутствия пользователя.целое число300
services.CoAuthoring.expire.locksОпределяет время жизни блокировки.целое число604800
services.CoAuthoring.expire.changeindexОпределяет время изменения индексов.целое число86400
services.CoAuthoring.expire.lockDocОпределяет время блокировки документов.целое число30
services.CoAuthoring.expire.messageОпределяет время жизни сообщений.целое число86400
services.CoAuthoring.expire.lastsaveОпределяет время жизни последнего успешного сохранения базы данных.целое число604800
services.CoAuthoring.expire.forcesaveОпределяет время жизни для успешного выполнения операции по сохранению.целое число604800
services.CoAuthoring.expire.forcesaveLockОпределяет время жизни принудительно сохраненных блокировок в режиме кластера ioredis.целое число5000
services.CoAuthoring.expire.savedОпределяет время жизни сохранения базы данных, выполненного успешно.целое число3600
services.CoAuthoring.expire.documentsCronОпределяет время начала проверки, в течение которой старые файлы удаляются из кэша (по умолчанию каждые два часа).строковый"0 */2 * * * *"
services.CoAuthoring.expire.filesОпределяет время жизни папок в App_Data.целое число86400
services.CoAuthoring.expire.filesCronОпределяет время начала проверки (по умолчанию каждый день в полночь).строковый"00 00 */1 * * *"
services.CoAuthoring.expire.filesremovedatonceОпределяет количество одновременно удаляемых папок документов из кэша.целое число100
services.CoAuthoring.expire.sessionidleОпределяет время жизни неактивной сессии. Этот параметр позволяет завершить сеанс редактирования для неактивного пользователя. Он также используется для инициализации процедуры сохранения документа путем завершения последнего сеанса редактирования. Таким образом, он определяет время, по истечении которого неактивный пользователь будет отключен от сеанса редактирования. Формат его значения: «1s», «1m», «1h», «1d» и т. д.

Обратите внимание, под неактивностью мы подразумеваем отсутствие каких-либо действий в редакторе, включая перемещение курсора.

строковый"1h"
services.CoAuthoring.expire.sessionabsoluteОпределяет время жизни любого сеанса редактирования.строковый"30d"
services.CoAuthoring.expire.sessionclosecommandОпределяет время до истечения срока действия sessionidle или sessionabsolute ttl при отправке предупреждающего сообщения.строковый"2m"
services.CoAuthoring.expire.pemStdTTLОпределяет время жизни PEM-файлов с секретами.строковый"1h"
services.CoAuthoring.expire.pemCheckPeriodОпределяет время проверки файлов PEM ttl.строковый"10m"
services.CoAuthoring.expire.updateVersionStatusОпределяет время, через которое пользователь сможет снова открыть файл после возникновения ошибки из-за открытия уже сохраненного файла с использованием старого ключа.строковый"5m"
services.CoAuthoring.expire.monthUniqueUsersОпределяет время жизни списка уникальных пользователей месяца.строковый"1y"

Эти параметры определяют настройки срока действия.

Пример

"services": {
    "CoAuthoring": {
        "expire": {
            "saveLock": 60,
            "presence": 300,
            "locks": 604800,
            "changeindex": 86400,
            "lockDoc": 30,
            "message": 86400,
            "lastsave": 604800,
            "forcesave": 604800,
            "forcesaveLock": 5000,
            "saved": 3600,
            "documentsCron": "0 */2 * * * *",
            "files": 86400,
            "filesCron": "00 00 */1 * * *",
            "filesremovedatonce": 100,
            "sessionidle": "1h",
            "sessionabsolute": "30d",
            "sessionclosecommand": "2m",
            "pemStdTTL": "1h",
            "pemCheckPeriod": "10m",
            "updateVersionStatus": "5m",
            "monthUniqueUsers": "1y"
        }
    }
}

IP фильтр

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.ipfilter.rulesОпределяет правила IP-фильтрации, которые содержат следующие параметры:

  • адрес — IP-адрес интегратора. Этот параметр может содержать IP-адрес в формате X.X.X.X для ipv4 или в формате xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx.xxxx для ipv6, DNS-имя или подстановочный знак * для замены любого символа/символов,
    тип: строка,
    пример: «ip_адрес»;
  • разрешено — указывает, является ли IP-адрес доверенным или нет,
    тип: логический,
    пример: правда.
массив объектов
services.CoAuthoring.ipfilter.useforrequestОпределяет, используется ли IP-фильтр для запроса или нет.логическийfalse
services.CoAuthoring.ipfilter.errorcodeОпределяет код ошибки для IP-фильтра.целое число403

Эти параметры определяют конфигурацию IP-фильтра.

Пример

"services": {
    "CoAuthoring": {
        "ipfilter": {
            "rules": [{"address": "*", "allowed": true}],
            "useforrequest": false,
            "errorcode": 403
        }
    }
}

Агент фильтрации запросов

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.request-filtering-agent.allowPrivateIPAddressОпределяет, разрешено ли подключение частного IP-адреса или нет. Сюда входят частные IP-адреса и зарезервированные IP-адреса.логическийfalse
services.CoAuthoring.request-filtering-agent.allowMetaIPAddressОпределяет, разрешено ли подключение мета-IP-адреса или нет. Мета-адрес может быть 0.0.0.0 (IPv4) или :: (IPv6) — метаадрес, по которому маршрутизируется другой адрес.логическийfalse

Эти параметры определяют конфигурацию агента фильтрации запросов.

Пример

"services": {
    "CoAuthoring": {
        "request-filtering-agent" : {
            "allowPrivateIPAddress": false,
            "allowMetaIPAddress": false
        }
    }
}

Секретный ключ

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.secret.browserОпределяет параметры секретного ключа для генерации токена в клиентских запросах браузера к Серверу документов:

  • строка — секретный ключ,
    тип: строка,
    пример: «секретно»;
  • file — PEM-файл, в котором хранится секрет,
    тип: строка,
    пример: «».
объект
services.CoAuthoring.secret.inboxОпределяет параметры секретного ключа для генерации токена во входящих HTTP-запросах с командами от службы хранения документов к службе команд документов, службе преобразования документов и службе построения документов:

  • строка — секретный ключ,
    тип: строка,
    пример: «секретно»;
  • file — PEM-файл, в котором хранится секрет,
    тип: строка,
    пример: «».
объект
services.CoAuthoring.secret.outboxОпределяет параметры секретного ключа для генерации токена в исходящих HTTP-запросах на адрес callbackUrl сервисом редактирования документов:

  • строка — секретный ключ,
    тип: строка,
    пример: «секретно»;
  • file — PEM-файл, в котором хранится секрет,
    тип: строка,
    пример: «».
объект
services.CoAuthoring.secret.sessionОпределяет параметры секретного ключа для генерации токена сеанса:

  • строка — секретный ключ,
    тип: строка,
    пример: «секретно»;
  • file — PEM-файл, в котором хранится секрет,
    тип: строка,
    пример: «».
объект

Эти параметры определяют конфигурацию секретного ключа.

Пример

"services": {
    "CoAuthoring": {
        "secret": {
            "browser": {"string": "secret", "file": ""},
            "inbox": {"string": "secret", "file": ""},
            "outbox": {"string": "secret", "file": ""},
            "session": {"string": "secret", "file": ""}
        }
    }
}

Токен

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.token.enableОпределяет, включены ли токены или нет.объектfalse
services.CoAuthoring.token.enable.browserОпределяет, включен или нет токен в запросах браузера на стороне клиента.логическийfalse
services.CoAuthoring.token.enable.requestОпределяет, включены ли токены в HTTP-запросах или нет.объектfalse
services.CoAuthoring.token.enable.request.inboxОпределяет, включен ли токен во входящих HTTP-запросах или нет.логическийfalse
services.CoAuthoring.token.enable.request.outboxОпределяет, включен ли токен в исходящих HTTP-запросах или нет.логическийfalse
services.CoAuthoring.token.browserОпределяет конфигурацию токена браузера.объектfalse
services.CoAuthoring.token.browser.secretFromInboxОпределяет, равен ли токен браузера токену из входящих запросов (true) или нет (false).логическийfalse
services.CoAuthoring.token.inboxОпределяет конфигурацию токена из входящих запросов.объектfalse
services.CoAuthoring.token.inbox.headerОпределяет заголовок HTTP, который будет использоваться для отправки токена входящего запроса.строковыйfalse
services.CoAuthoring.token.inbox.prefixОпределяет префикс в HTTP-заголовке, который будет использоваться для отправки токена входящего запроса.строковыйfalse
services.CoAuthoring.token.inbox.inBodyОпределяет, включен ли токен в теле входящего запроса или нет.логическийfalse
services.CoAuthoring.token.outboxОпределяет конфигурацию токена из исходящих запросов.объектfalse
services.CoAuthoring.token.outbox.headerОпределяет заголовок HTTP, который будет использоваться для отправки токена исходящего запроса.строковыйfalse
services.CoAuthoring.token.outbox.prefixОпределяет префикс в HTTP-заголовке, который будет использоваться для отправки токена исходящего запроса.строковыйfalse
services.CoAuthoring.token.outbox.algorithmОпределяет алгоритм, который используется для подписи токена исходящего запроса.строковыйfalse
services.CoAuthoring.token.outbox.expiresОпределяет период, в течение которого истекает срок действия токена исходящего запроса.строковыйfalse
services.CoAuthoring.token.outbox.inBodyОпределяет, включен ли токен в теле исходящего запроса или нет.логическийfalse
services.CoAuthoring.token.outbox.urlExclusionRegexОпределяет регулярное выражение, указывающее URL-адреса, из которых следует исключить авторизацию. Пустая строка означает, что эта опция отключена.строковыйfalse
services.CoAuthoring.token.sessionОпределяет конфигурацию токена сеанса.объектfalse
services.CoAuthoring.token.session.algorithmОпределяет алгоритм, который используется для подписи токена сеанса.строковыйfalse
services.CoAuthoring.token.session.expiresОпределяет период, в течение которого истекает срок действия токена сеанса.строковыйfalse
services.CoAuthoring.token.verifyOptionsОпределяет параметры проверки токена.объектfalse
services.CoAuthoring.token.verifyOptions.clockToleranceОпределяет количество секунд, которое является приемлемым при наличии разницы в часах между разными серверами.целое числоfalse

Эти параметры определяют конфигурацию токена.

Пример

"services": {
     "CoAuthoring": {
         "token": {
             "enable": {
                 "browser": false,
                 "request": {
                     "inbox": false,
                     "outbox": false
                 }
         },
         "browser": {
              "secretFromInbox": true
         },
         "inbox": {
             "header": "Authorization",
             "prefix": "Bearer ",
             "inBody": false
         },
         "outbox": {
             "header": "Authorization",
             "prefix": "Bearer ",
             "algorithm": "HS256",
             "expires": "5m",
             "inBody": false,
             "urlExclusionRegex": ""
         },
         "session": {
             "algorithm": "HS256",
             "expires": "30d"
         },
         "verifyOptions": {
             "clockTolerance": 60
         }
       }
    }
}

Плагины

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.plugins.uriОпределяет путь к папке, в которой хранятся все плагины.строковый"/sdkjs-plugins"
services.CoAuthoring.plugins.autostartОпределяет список плагинов, которые запускаются автоматически.список[]

Эти параметры определяют конфигурацию плагинов.

Пример

"services": {
    "CoAuthoring": {
        "plugins": {
            "uri": "/sdkjs-plugins",
            "autostart": []
        }
    }
}

Темы

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.themes.uriОпределяет путь к папке, в которой хранятся все файлы JSON с пользовательскими цветовыми темами.строковый"/web-apps/apps/common/main/resources/themes"

Этот параметр определяет свойства пользовательских цветовых тем.

Пример

"services": {
    "CoAuthoring": {
        "themes": {
            "uri": "/web-apps/apps/common/main/resources/themes"
        }
    }
}

Редактор

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.editor.spellcheckerUrlОпределяет путь к средству проверки правописания.строковый""
services.CoAuthoring.editor.reconnectionОпределяет настройки переподключения редактора к серверу.объект
services.CoAuthoring.editor.reconnection.attemptsОпределяет максимальное количество попыток переподключения редактора.целое число50
services.CoAuthoring.editor.reconnection.delayОпределяет задержку попытки переподключения редактора.строковый"2s"
services.CoAuthoring.editor.binaryChangesОпределяет, сохраняются ли изменения документа в двоичном (true) или JSON (false) формате.логическийfalse
services.CoAuthoring.editor.websocketMaxPayloadSizeОпределяет максимальный размер полезных данных WebSocket.строковый"1.5MB"
services.CoAuthoring.editor.maxChangesSizeОпределяет ограничение на общий размер изменений, вносимых в документ. При превышении лимита пользователь получает диалоговое окно с предложением отменить последнее действие или перейти в автономный режим. По умолчанию этот параметр отключен.строковый"0mb"

Эти параметры определяют конфигурацию редактора.

Пример

"services": {
     "CoAuthoring": {
          "editor":{
             "spellcheckerUrl": "",
             "reconnection":{
                 "attempts": 50,
                 "delay": "2s"
             },
             "binaryChanges": false,
             "websocketMaxPayloadSize": "1.5MB",
             "maxChangesSize": "0mb"
          }
     }
}

SockJs

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.sockjs.sockjs_urlОпределяет путь к файлу sockjs.min.js.строковый""
services.CoAuthoring.sockjs.disable_corsОпределяет, будет ли CORS отключен или нет. Значение true предотвращает уязвимость заголовка Access-Control-Allow-Origin.логическийtrue
services.CoAuthoring.sockjs.websocketОпределяет, включен ли протокол WebSocket или нет.логическийtrue

Эти параметры определяют конфигурацию SockJs.

Пример

"services": {
    "CoAuthoring": {
        "sockjs": {
            "sockjs_url": "",
            "disable_cors": true,
            "websocket": true
         }
     }
}

Socket.IO

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.socketio.connectionОпределяет свойства соединения.объект
services.CoAuthoring.socketio.connection.pathОпределяет путь, который фиксируется на стороне сервера.строковый"/doc/"
services.CoAuthoring.socketio.connection.serveClientОпределяет, будут ли обслуживаться клиентские файлы или нет.логическийfalse
services.CoAuthoring.socketio.connection.pingTimeoutОпределяет период ожидания в миллисекундах, в течение которого клиент должен ответить понгом на пинг сервера. Если ответа нет, сервер считает, что соединение закрыто. Соединение между сервером и клиентом проверяется каждые миллисекунды pingInterval.целое число20000
services.CoAuthoring.socketio.connection.pingIntervalОпределяет интервал времени в миллисекундах, который используется для проверки наличия соединения между сервером и клиентом. Сервер отправляет клиенту пинг-пакет, и если клиент не отвечает пингом в течение периода pingTimeout, сервер считает, что соединение закрыто.целое число25000
services.CoAuthoring.socketio.connection.maxHttpBufferSizeОпределяет максимальное количество байтов, которое может содержать одно сообщение, перед закрытием сокета.целое число1e8

Эти параметры определяют конфигурацию модуля Socket.IO.

Пример

"socketio": {
    "connection": {
        "path": "/doc/",
        "serveClient": false,
        "pingTimeout": 20000,
        "pingInterval": 25000,
        "maxHttpBufferSize": 1e8
    }
}

Параметры обратного вызова

 

ПараметрОписаниеТипПо умолчанию
services.CoAuthoring.callbackBackoffOptions.retriesОпределяет максимальное количество повторов операции.целое число0
services.CoAuthoring.callbackBackoffOptions.timeoutОпределяет таймауты отсрочки обратного вызова.объект
services.CoAuthoring.callbackBackoffOptions.timeout.factorОпределяет используемый экспоненциальный коэффициент.целое число2
services.CoAuthoring.callbackBackoffOptions.timeout.minTimeoutОпределяет количество миллисекунд до начала первой попытки.целое число1000
services.CoAuthoring.callbackBackoffOptions.timeout.maxTimeoutОпределяет максимальное количество миллисекунд между двумя повторами.целое число2147483647
services.CoAuthoring.callbackBackoffOptions.timeout.randomizeОпределяет, рандомизируются ли тайм-ауты путем умножения на коэффициент от 1 до 2 или нет.логическийfalse
services.CoAuthoring.callbackBackoffOptions.httpStatusОпределяет HTTP-статусы отсрочки обратного вызова.строка"429,500-599"

Эти параметры определяют параметры отсрочки обратного вызова.

Пример

"services": {
    "CoAuthoring": {
        "callbackBackoffOptions": {
            "retries": 0,
            "timeout":{
                "factor": 2,
                "minTimeout": 1000,
                "maxTimeout": 2147483647,
                "randomize": false
        },
        "httpStatus": "429,500-599"
       }
    }
}

Лицензия

ПараметрОписаниеТипПо умолчанию
license.license_fileОпределяет путь к файлу лицензии.строковый""
license.warning_limit_percentsОпределяет процентный диапазон ограничений connection и Connections_view, при превышении которого в журналах появляется предупреждение о лимите лицензии.логическийtrue
license.packageTypeНе изменяемый параметробъект1

Эти параметры определяют конфигурацию лицензии.

Пример

"license" : {
    "license_file": "",
    "warning_limit_percents": 70,
    "packageType": 2
}

Конвертер

 

ПараметрОписаниеТипПо умолчанию
FileConverter.converterОпределяет свойства конвертера.объект
FileConverter.converter.maxDownloadBytesОпределяет максимальный размер запрашиваемого файла (измеряется в байтах).целое число104857600
FileConverter.converter.downloadTimeoutОпределяет свойства тайм-аута для загрузки преобразованного файла.объект
FileConverter.converter.downloadTimeout.connectionAndInactivityОпределяет период, который определяет два таймаута:

  • таймаут чтения — время ожидания отправки сервером заголовков ответа (и запуска тела ответа) перед прерыванием запроса;
  • таймаут соединения — устанавливает для сокета таймаут после таймаута неактивности. Обратите внимание, что увеличение тайм-аута сверх тайм-аута TCP-соединения всей ОС не будет иметь никакого эффекта.

Этот параметр отправляется в модуль npm.

строковый"2m"
FileConverter.converter.downloadTimeout.wholeCycleОпределяет тайм-аут всего цикла запроса.строковый"2m"
FileConverter.converter.downloadAttemptMaxCountОпределяет максимальное количество попыток загрузки конвертированного файла.целое число3
FileConverter.converter.downloadAttemptDelayОпределяет задержку попытки загрузки преобразованного файла.целое число1000
FileConverter.converter.maxprocesscountОпределяет максимальное количество процессов преобразования, которые могут быть активны одновременно.целое число1
FileConverter.converter.fontDirОпределяет путь к папке со шрифтами.строковый"null"
FileConverter.converter.presentationThemesDirОпределяет путь к папке с темами презентации.строковый"null"
FileConverter.converter.x2tPathОпределяет путь к конвертеру файлов x2t.строковый"null"
FileConverter.converter.docbuilderPathОпределяет путь к приложению Документ конструктор.строковый"null"
FileConverter.converter.argsОпределяет дополнительные параметры для запуска x2t.строковый""
FileConverter.converter.spawnOptionsОпределяет параметры, которые можно передавать непосредственно в библиотеку node.js child_process.spawn (только для запуска x2t).объект{}
FileConverter.converter.errorfilesОпределяет путь к файлам ошибок.строковый""
FileConverter.converter.streamWriterBufferSizeОпределяет размер буфера StreamWriter.целое число8388608
FileConverter.converter.maxRedeliveredCountОпределяет максимальное количество повторных доставок сообщений.целое число2
FileConverter.converter.inputLimitsОпределяет ограничения для входных файлов.объект
FileConverter.converter.inputLimits.typeОпределяет типы файлов OOXML, для которых указаны ограничения (текстовые документы/таблицы/презентации). Сюда не входят другие объекты, например изображения.строковый"docx;dotx;docm;dotm"/"xlsx;xltx;xlsm;xltm"/"pptx;ppsx;potx;pptm;ppsm;potm"
FileConverter.converter.inputLimits.zipОпределяет свойства zip-архива.объект
FileConverter.converter.inputLimits.zip.uncompressedОпределяет общий размер несжатого файла для текстовых документов/таблиц/презентаций.строковый"50MB"/"300MB"/"50MB"
FileConverter.converter.inputLimits.zip.templateОпределяет шаблон имени для файлов, размеры которых учитываются.строковый"*.xml"

Эти параметры определяют конфигурацию конвертера файлов.

Пример

"FileConverter": {
    "converter": {
        "maxDownloadBytes": 104857600,
        "downloadTimeout": {
            "connectionAndInactivity": "2m",
            "wholeCycle": "2m"
        },
        "downloadAttemptMaxCount": 3,
        "downloadAttemptDelay": 1000,
        "maxprocesscount": 1,
        "fontDir": "null",
        "presentationThemesDir": "null",
        "x2tPath": "null",
        "docbuilderPath": "null",
        "args": "",
        "spawnOptions": {},
        "errorfiles": "",
        "streamWriterBufferSize": 8388608,
        "maxRedeliveredCount": 2,
        "inputLimits": [
            {
            "type": "docx;dotx;docm;dotm",
            "zip": {
                "uncompressed": "50MB",
                "template": "*.xml"
            }
            },
            {
            "type": "xlsx;xltx;xlsm;xltm",
            "zip": {
                "uncompressed": "300MB",
                "template": "*.xml"
            }
            },
            {
            "type": "pptx;ppsx;potx;pptm;ppsm;potm",
            "zip": {
                "uncompressed": "50MB",
                "template": "*.xml"
            }
            }
        ]
    }
}