Содержание
Введение
Чтобы изменить какие-либо настройки Сервера документов, настройте соответствующий параметр в файле конфигурации, который находится по следующему пути:
Для 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-соединения и могут содержать следующие поля:
| объект | {} |
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": { } }
Tenants
Параметр | Описание | Тип | По умолчанию |
tenants.baseDir | Определяет каталог, ограничивающий файлы, к которым может получить доступ Сервер документов. | строковый | "" |
tenants.baseDomain | Определяет базовое доменное имя клиента. | строковый | "" |
tenants.filenameConfig | Определяет имя файла конфигурации в папке клиента для переопределения default.json. Он используется в мультитенантном режиме для инициализации определенных настроек арендатора (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 | Определяет период, который определяет два таймаута:
Этот параметр отправляется в модуль npm. | строковый | "2m" |
services.CoAuthoring.server.limits_image_download_timeout.wholeCycle | Определяет весь цикл запроса — период от начала загрузки до полной загрузки. | строковый | "2m" |
services.CoAuthoring.server.callbackRequestTimeout | Определяет свойства тайм-аута для запроса обратного вызова. | объект | |
services.CoAuthoring.server.callbackRequestTimeout.connectionAndInactivity | Определяет период, который определяет два таймаута:
Этот параметр отправляется в модуль 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-фильтрации, которые содержат следующие параметры:
| массив объектов | |
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 | Определяет параметры секретного ключа для генерации токена в клиентских запросах браузера к Серверу документов:
| объект | |
services.CoAuthoring.secret.inbox | Определяет параметры секретного ключа для генерации токена во входящих HTTP-запросах с командами от службы хранения документов к службе команд документов, службе преобразования документов и службе построения документов:
| объект | |
services.CoAuthoring.secret.outbox | Определяет параметры секретного ключа для генерации токена в исходящих HTTP-запросах на адрес callbackUrl сервисом редактирования документов:
| объект | |
services.CoAuthoring.secret.session | Определяет параметры секретного ключа для генерации токена сеанса:
| объект |
Эти параметры определяют конфигурацию секретного ключа.
Пример
"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 | Определяет период, который определяет два таймаута:
Этот параметр отправляется в модуль 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" } } ] } }