Предварительные требования (Обязательное условие)

Для настройки интеграции необходимо предварительно развернуть сервер ONLYOFFICE Docs (Document Server).

Установка ONLYOFFICE Docs должна производиться на отдельной машине (выделенном сервере), обособленно от сервера Vitro-CAD.

Официальные дистрибутивы ONLYOFFICE Docs для различных операционных систем, а также руководства по их установке доступны в официальной документации ONLYOFFICE.

После успешного развертывания ONLYOFFICE Docs на отдельном сервере можно переходить к пошаговой настройке интеграции с Vitro-CAD.



1. Схема сетевого взаимодействия

Для работы редактора должны выполняться 4 сетевых соединения:

Инициатор

Адрес назначения

Назначение

Браузер пользователя

Vitro-CAD

Открытие страницы редактора и получение конфигурации

Браузер пользователя

DocumentServerUrl

Загрузка интерфейса и ресурсов ONLYOFFICE

ONLYOFFICE Docs

PortalPublicUrl

Загрузка исходного файла и отправка результата сохранения (callback)

Vitro-CAD

DocumentServerUrl

Проверка активной сессии и загрузка сохраненного файла



2. Проверка Vitro-CAD и настройка просмотрщика файлов

Проверка версии

  1. Убедитесь, что версия серверной части Vitro-CAD — не ниже 2026.1.5.3.
  2. Если потребовалось обновление сервера, после его проведения перезапустите службу Vitro Server.

Настройка просмотрщика в Центре администрирования (GUI)

Чтобы при клике на файл соответствующего формата открывался редактор ONLYOFFICE Docs, необходимо вручную назначить просмотрщик для нужных расширений:

  1. Перейдите в Центр администрирования Vitro-CAD.
  2. В левом боковом меню выберите раздел НастройкиСпискиРасширения файлов. Список скрытый.
  3. Нажмите на необходимое расширение в списке (например, docx, xlsx, pptx и т. д.).
  4. В правой панели свойств найдите поле Просмотрщик файлов.
  5. Введите или выберите из выпадающего списка значение Only Office (onlyOffice).
  6. Сохраните изменения.
  7. Повторите процедуру для остальных целевых расширений файлов.

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

Поддерживаемые форматы:

Проверка назначения просмотрщика через БД (опционально)

Проверить корректность привязки просмотрщика в базе данных можно с помощью SQL-запроса:

SELECT
fe.internal_name AS extension,
fv.internal_name AS viewer
FROM public.file_extension fe
LEFT JOIN public.file_viewer fv ON fv.id = fe.file_viewer
WHERE fe.internal_name IN (
'doc', 'docm', 'docx', 'dot', 'dotm', 'dotx', 'odt', 'ott', 'rtf', 'txt',
'csv', 'ods', 'ots', 'xls', 'xlsb', 'xlsm', 'xlsx', 'xlt', 'xltm', 'xltx',
'odp', 'otp', 'pot', 'potm', 'potx', 'pps', 'ppsm', 'ppsx', 'ppt', 'pptm', 'pptx'
)
ORDER BY fe.internal_name;

Для всех настроенных расширений в колонке viewer должно отображаться значение onlyOffice.



3. Сетевой доступ между серверами

  1. Выберите адреса подключения:
    1. DocumentServerUrl (например, https://docs.example.ru/ —  сетевой адрес сервера ONLYOFFICE Docs, доступный с рабочих мест и с сервера Vitro-CAD.
    2. PortalPublicUrl (например, https://vitro.example.ru/ —  сетевой адрес Vitro-CAD, доступный с сервера ONLYOFFICE Docs.

  2. Проверьте доступность адресов и портов между серверами:
    1. Windows (PowerShell):
      Test-NetConnection docs.example.ru -Port 443
      Test-NetConnection vitro.example.ru -Port 443
    2. Linux (Bash):
      curl -I https://docs.example.ru/healthcheck
      curl -I https://vitro.example.ru/

Если страница Vitro-CAD открывается по HTTPS, адрес DocumentServerUrl также обязан использовать HTTPS. В противном случае браузер заблокирует загрузку ONLYOFFICE как Mixed Content.



4. Настройка Vitro-CAD (onlyoffice.json)

  1. Создайте или отредактируйте файл onlyoffice.json на сервере Vitro-CAD:
    1. Windows: C:\Program Files\Vitro Software\Vitro\Server\Conf\onlyoffice.json
    2. Linux: /etc/Vitro/Server/Conf/onlyoffice.json
  2. Укажите параметры конфигурации:
    {
    	"DocumentServerUrl": "https://docs.example.ru/",
    	"PortalPublicUrl": "https://vitro.example.ru/",
    	"JwtSecret": "<JWT_SECRET>",
    	"SessionLookupDays": 7
    }

Параметры конфигурации:

Параметр

Обязательный

Назначение

DocumentServerUrl

Да

Корневой адрес ONLYOFFICE Docs (доступный клиентам и серверу Vitro-CAD)

PortalPublicUrl

Да

Корневой адрес Vitro-CAD (доступный с сервера ONLYOFFICE Docs)

JwtSecret

Да

Секрет подписи запросов между Vitro-CAD и ONLYOFFICE Docs

SessionLookupDays

Нет

Глубина поиска активной сессии в днях (по умолчанию 7)

Протокол и порт должны точно соответствовать реальному адресу.

После изменения onlyoffice.json необходимо перезапустить Vitro Server.



5. Настройка JWT в ONLYOFFICE Docs

  1. Сгенерируйте случайный секрет длиной 32 байта:
  1. Укажите полученное значение в параметре JwtSecret файла onlyoffice.json.
  2. Откройте файл local.json на сервере ONLYOFFICE Docs:
    1. Windows: C:\Program Files\ONLYOFFICE\DocumentServer\config\local.json
    2. Linux: /etc/onlyoffice/documentserver/local.json
  3. Включите проверку JWT и укажите тот же секрет (добавьте в файл local.json):
    {
      "services": {
        "CoAuthoring": {
          "token": {
            "enable": {
              "browser": true,
              "request": {
                "inbox": true,
                "outbox": true
              }
            }
          },
          "secret": {
            "inbox": {
              "string": "<JWT_SECRET>"
            },
            "outbox": {
              "string": "<JWT_SECRET>"
            },
            "session": {
              "string": "<JWT_SECRET>"
            }
          }
        }
      }
    }

Значения JwtSecret, secret.inbox.string, secret.outbox.string и secret.session.string должны полностью совпадать.

Не изменяйте файл default.json, так как его параметры восстанавливаются при обновлении ONLYOFFICE Docs.

Разрешение доступа к частным IP-адресам

Если PortalPublicUrl содержит частный IP-адрес, ONLYOFFICE Docs может заблокировать загрузку файла и callback. В этом случае добавьте в local.json на сервере ONLYOFFICE Docs:

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



6. HTTPS и сертификаты

Для производственной установки следует использовать доверенные сертификаты и HTTPS для Vitro-CAD и ONLYOFFICE Docs.

Необходимо проверить два независимых условия:

  1. Браузеры пользователей доверяют сертификату DocumentServerUrl.
  2. Сервер ONLYOFFICE Docs доверяет сертификату PortalPublicUrl.

Самоподписанный сертификат, принятый пользователем в браузере, не становится автоматически доверенным для службы ONLYOFFICE Docs. 
Параметр services.CoAuthoring.requestDefaults.rejectUnauthorized: false допускается использовать только для временной диагностики.



7. Перезапуск служб

После изменения local.json на сервере ONLYOFFICE Docs и onlyoffice.json на сервере Vitro-CAD перезапустите службы.

На сервере ONLYOFFICE Docs и Vitro-CAD (Linux):

sudo systemctl restart ds-converter ds-docservice ds-metrics
sudo systemctl restart vitro-server

На сервере ONLYOFFICE Docs (Windows PowerShell от имени администратора):

Restart-Service DsConverterSvc
Restart-Service DsDocServiceSvc
Restart-Service DsProxySvc

После этого перезапустите службу Vitro Server на сервере Vitro-CAD. Открытые вкладки редактора в браузерах пользователей необходимо перезагрузить.



8. Проверка работы интеграции

Проверка доступности ONLYOFFICE Docs

С рабочего места пользователя и с сервера Vitro-CAD выполните:

Invoke-WebRequest "https://docs.example.ru/healthcheck" -UseBasicParsing
Invoke-WebRequest "https://docs.example.ru/web-apps/apps/api/documents/api.js" -UseBasicParsing

Запрос healthcheck должен вернуть true, оба запроса должны завершиться со статусом 200.

Проверка связи ONLYOFFICE с Vitro-CAD

С сервера ONLYOFFICE Docs проверьте доступность PortalPublicUrl:

curl -I https://vitro.example.ru/

После открытия документа ONLYOFFICE Docs обращается к адресу:

/onlyOffice/api/editor/getDocument/...

Проверка открытия и сохранения

  1. В Vitro-CAD откройте файл docx, xlsx или pptx.
  2. Убедитесь, что файл открылся в новой вкладке ONLYOFFICE.
  3. Внесите изменение и нажмите кнопку сохранения.
  4. Закройте вкладку редактора.
  5. Проверьте появление новой версии файла в Vitro-CAD.

При нажатии кнопки сохранения ONLYOFFICE выполняет ForceSave и отправляет callback со статусом 6. После закрытия измененного документа отправляется финальный callback со статусом 2.



9. Права пользователей

Vitro-CAD передает в ONLYOFFICE идентификатор и имя пользователя текущей сессии.

Права Vitro-CAD

Режим ONLYOFFICE

Нет Read

Открытие запрещено

Есть Read, нет Upload

Только просмотр

Есть Read и Upload

Редактирование актуальной версии

Открыта конкретная версия

Только просмотр независимо от Upload



10. Диагностика и устранение неполадок

Симптом

Причина и решение

Вместо редактора скачивается файл

  1. Расширению не назначен просмотрщик onlyOffice в Центре администрирования.
  2. Запрос GET /onlyOffice/api/editor/getConfig/ возвращает не статус 200.
  3. Ошибки Mixed Content или сертификата в консоли браузера.
  4. Не совпадают JWT-секреты.

Пустой документ или «Загрузка не удалась»

ONLYOFFICE Docs не смог загрузить файл с сервера Vitro-CAD.

Проверьте PortalPublicUrl, маршрутизацию и файрволл между серверами, параметр allowPrivateIPAddress и логи docservice.

«Не удается сохранить документ»

ONLYOFFICE не может отправить POST на /onlyOffice/api/editor/processCallback/...

или

Vitro-CAD не может скачать файл по предоставленному адресу.

Invalid token или код команды 6

Не совпадают секреты JWT в onlyoffice.json и local.json (inbox, outbox, session), либо службы не были перезапущены.

socket hang up, ECONNREFUSED

ONLYOFFICE Docs не может подключиться к PortalPublicUrl

(например, ошибочно указан HTTP-протокол на HTTPS-порту или сетевое подключение заблокировано).

Журналы (логи) ONLYOFFICE Docs:



11. Текущие ограничения