Страница 1 из 1
Интеграция с OnlyOffice
Добавлено: 29 окт 2024, 06:48
Евгений
Развернул Руководитель 3.6 с нуля, на новой виртуалке. Создал поле типа "ONLYOFFICE Сервер". Настроил доступ к серверу онлайн-редактирования, адрес API и токен. Сервер onlyoffice-documentserver установлен в нашей локальной сети.
Если открыть документ на редактирование, то появляется сообщение "Не удается сохранить документ. Проверьте параметры подключения или обратитесь к вашем администратору. Когда вы нажмете кнопку ОК, вам будет предложено скачать документ". Нажимаю "ОК" в окне сообщения, потом Esc чтобы не скачивать файл - и после этого редактирование документа идет совершенно нормально. Все изменения сохраняются, одновременное редактирование в файле происходит корректно.
Проблема где-то на стороне сервера Руководитель, в настройках. Этот же самый сервер документов OnlyOffice я открываю из другого веб-приложения, в нем документы открываются без этого сообщения.
В чем может быть проблема, где искать, как исправить?
Re: Интеграция с OnlyOffice
Добавлено: 29 окт 2024, 07:29
support
"Не удается сохранить документ", означает что OnlyOffice не может выполнит callbackUrl для сохранения в программе.
смотрите JS/PHP логи. И в папке /logs посмотрите
https://docs.rukovoditel.net.ru/index.php?p=149
Re: Интеграция с OnlyOffice
Добавлено: 29 окт 2024, 08:20
Евгений
В папке /logs ничего не появилось, пустая.
Включил в Руководителе логи HTTP, PHP включение логов JS не вижу.
Выполнил редактирование в ОО, в Руководителе в разделе Логи/PHP пусто, в разделе Логи/HTTP выдает вот это, но не вижу никакой ошибки:
Re: Интеграция с OnlyOffice
Добавлено: 29 окт 2024, 08:22
Евгений
Все три компьютера - мой АРМ, сервер с Руководителем, сервер с ОнлиОфисом - все видят друг друга и пингуют по именам.
Возможно, на сервере Руководитель заблокирован какой-то порт, на который ОнлиОфис пытается сделать callbackUrl ?
Re: Интеграция с OnlyOffice
Добавлено: 29 окт 2024, 09:30
support
Js логи в браузере посмотрите.
И HTTP логи на сервер смотрите а не в программе.
Re: Интеграция с OnlyOffice
Добавлено: 30 окт 2024, 04:00
Евгений
Разобрался. Сервер Руководитель у нас установлен на отечественной ОС Астра Линукс, вариант защищенности "Усиленный". Соответственно блокирует все недоверенные подключения, в данном случае со стороны сервера документов ОнлиОфис.
Проверил работу сервера Руководитель на "голом" линуксе, Дебиан 12. Всё работает отлично! Документы открываются, редактируются и сохраняются без ошибок. Нужно просто донастроить ОС Астра, дать доступ для подключений со стороны ОнлиОфиса. Проблема решена.
Re: Интеграция с OnlyOffice
Добавлено: 30 окт 2024, 06:16
Евгений
На защищенной ОС при открытии файла на редактирование выдает такую ошибку:
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"
Re: Интеграция с OnlyOffice
Добавлено: 30 окт 2024, 08:03
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)
);
}
где то конфликт, и проверка не проходит. Может формат даты не тот или еще что.
Думаю в вашем случае просто закомментируйте этот кусок кода.
Re: Интеграция с OnlyOffice
Добавлено: 31 окт 2024, 01:07
Евгений
Да, это помогло. Закомментировал этот кусок кода и онлайн-редактор стал открываться без сообщения о неудаче.
Большое спасибо!
Поэкспериментирую дальше, проверю по этому куску в чем там на самом деле разница.