Интеграция с OnlyOffice

Все вопросы/проблемы по установке и использовании.
Ответить
Аватара пользователя
Евгений
Сообщения: 467
Зарегистрирован: 11 июл 2016, 13:21
Имя: Евгений
Откуда: Петропавловск-Камчатский

Интеграция с OnlyOffice

Сообщение Евгений »

Развернул Руководитель 3.6 с нуля, на новой виртуалке. Создал поле типа "ONLYOFFICE Сервер". Настроил доступ к серверу онлайн-редактирования, адрес API и токен. Сервер onlyoffice-documentserver установлен в нашей локальной сети.

Если открыть документ на редактирование, то появляется сообщение "Не удается сохранить документ. Проверьте параметры подключения или обратитесь к вашем администратору. Когда вы нажмете кнопку ОК, вам будет предложено скачать документ". Нажимаю "ОК" в окне сообщения, потом Esc чтобы не скачивать файл - и после этого редактирование документа идет совершенно нормально. Все изменения сохраняются, одновременное редактирование в файле происходит корректно.

Проблема где-то на стороне сервера Руководитель, в настройках. Этот же самый сервер документов OnlyOffice я открываю из другого веб-приложения, в нем документы открываются без этого сообщения.

В чем может быть проблема, где искать, как исправить?
Screenshot_20241029_154507.png
Аватара пользователя
support
Техническая поддержка
Сообщения: 9337
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Интеграция с OnlyOffice

Сообщение support »

"Не удается сохранить документ", означает что OnlyOffice не может выполнит callbackUrl для сохранения в программе.

смотрите JS/PHP логи. И в папке /logs посмотрите https://docs.rukovoditel.net.ru/index.php?p=149
Аватара пользователя
Евгений
Сообщения: 467
Зарегистрирован: 11 июл 2016, 13:21
Имя: Евгений
Откуда: Петропавловск-Камчатский

Re: Интеграция с OnlyOffice

Сообщение Евгений »

В папке /logs ничего не появилось, пустая.
Включил в Руководителе логи HTTP, PHP включение логов JS не вижу.

Выполнил редактирование в ОО, в Руководителе в разделе Логи/PHP пусто, в разделе Логи/HTTP выдает вот это, но не вижу никакой ошибки:
Screenshot_20241029_172013.png
Аватара пользователя
Евгений
Сообщения: 467
Зарегистрирован: 11 июл 2016, 13:21
Имя: Евгений
Откуда: Петропавловск-Камчатский

Re: Интеграция с OnlyOffice

Сообщение Евгений »

Все три компьютера - мой АРМ, сервер с Руководителем, сервер с ОнлиОфисом - все видят друг друга и пингуют по именам.

Возможно, на сервере Руководитель заблокирован какой-то порт, на который ОнлиОфис пытается сделать callbackUrl ?
Аватара пользователя
support
Техническая поддержка
Сообщения: 9337
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Интеграция с OnlyOffice

Сообщение support »

Js логи в браузере посмотрите.
И HTTP логи на сервер смотрите а не в программе.
Аватара пользователя
Евгений
Сообщения: 467
Зарегистрирован: 11 июл 2016, 13:21
Имя: Евгений
Откуда: Петропавловск-Камчатский

Re: Интеграция с OnlyOffice

Сообщение Евгений »

Разобрался. Сервер Руководитель у нас установлен на отечественной ОС Астра Линукс, вариант защищенности "Усиленный". Соответственно блокирует все недоверенные подключения, в данном случае со стороны сервера документов ОнлиОфис.

Проверил работу сервера Руководитель на "голом" линуксе, Дебиан 12. Всё работает отлично! Документы открываются, редактируются и сохраняются без ошибок. Нужно просто донастроить ОС Астра, дать доступ для подключений со стороны ОнлиОфиса. Проблема решена.
Аватара пользователя
Евгений
Сообщения: 467
Зарегистрирован: 11 июл 2016, 13:21
Имя: Евгений
Откуда: Петропавловск-Камчатский

Re: Интеграция с OnlyOffice

Сообщение Евгений »

На защищенной ОС при открытии файла на редактирование выдает такую ошибку:

2024/10/30 15:00:11 [error] 950#950: *482 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Firebase\JWT\BeforeValidException: Cannot handle token prior to 2024-10-30T15:04:43+1200 in /var/www/rukovoditel/includes/libs/jwt/JWT.php:124
Stack trace:
#0 /var/www/rukovoditel/modules/onlyoffice/actions/callback.php(72): Firebase\JWT\JWT::decode()
#1 /var/www/rukovoditel/index.php(31): require('...')
#2 {main}
thrown in /var/www/rukovoditel/includes/libs/jwt/JWT.php on line 124" while reading response header from upstream, client: 192.168.11.38, server: test.local, request: "POST /index.php?module=onlyoffice/callback&entity_id=25&item_id=1&field=214&file=2&date=1730173188 HTTP/1.1", upstream: "fastcgi://unix:/run/php/php-fpm.sock:", host: "test.local"
Аватара пользователя
support
Техническая поддержка
Сообщения: 9337
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Интеграция с OnlyOffice

Сообщение support »

Там кусочек кода, проверка токена на дату

includes/libs/jwt/JWT.php:124

Код: Выделить всё

if (isset($payload->iat) && $payload->iat > ($timestamp + static::$leeway)) {
            throw new BeforeValidException(
                'Cannot handle token prior to ' . date(DateTime::ISO8601, $payload->iat)
            );
        }
где то конфликт, и проверка не проходит. Может формат даты не тот или еще что.
Думаю в вашем случае просто закомментируйте этот кусок кода.
Аватара пользователя
Евгений
Сообщения: 467
Зарегистрирован: 11 июл 2016, 13:21
Имя: Евгений
Откуда: Петропавловск-Камчатский

Re: Интеграция с OnlyOffice

Сообщение Евгений »

Да, это помогло. Закомментировал этот кусок кода и онлайн-редактор стал открываться без сообщения о неудаче.
Большое спасибо!

Поэкспериментирую дальше, проверю по этому куску в чем там на самом деле разница.
Ответить