Назад | Перейти на главную страницу

ONLYOFFICE - секрет JWS не работает (без подключения можно)

я бегу Сервер документов ONLYOFFICE под https: // vhost на nginx на Ubuntu Server 18.04 LTS. Это доступно на onlyoffice.example.com, и у меня также есть Nextcloud экземпляр на nextcloud.example.com, с которым он интегрируется.

Чтобы предотвратить несанкционированный доступ к моему серверу, у меня был ключ аутентификации JWT внутри моего /etc/onlyoffice/documentserver/default.json файл для browser, inbox, outbox и session струны. После обновления до версии 5.2.0, Мне пришлось сбросить default.json файл по умолчанию (из репозитория GitHub), так как ONLYOFFICE не будет работать иначе по какой-то причине (?), а затем я правильно установил свой пароль БД PostgreSQL, а также четыре ключевые строки (все равные), упомянутые выше.

Я также убедился, что проверка подлинности секретного ключа включена true для всех трех вариантов (browser, inbox и outbox).

Потом побежал:

#: supervisorctl restart all
#: systemctl restart nginx

и успешно перезапустили мой веб-сервер и ONLYOFFICE.

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

Ошибка при попытке подключения (Ошибка в службе документов: ошибка при загрузке файла документа, который нужно преобразовать.)

Ничего не стоит, что таким образом нет никакой безопасности, и любой может бесплатно использовать мой Сервер документов ONLYOFFICE в своих системах.

Вот скриншот соответствующей части (начиная со строки 132) моего /etc/onlyoffice/documentserver/default.json файл (где красный крестик, я закрыл свой секретный ключ в Snipping Tool для конфиденциальности).

После дополнительных тестов я попытался намеренно заменить пароль базы данных в default.json файл с неправильным, и, к моему большому удивлению, ONLYOFFICE все еще работал! Я даже удалил важные записи, и ONLYOFFICE не моргнул.
Это означало, что ONLYOFFICE просматривал другой файл конфигурации. Я сделал:

root@server:/# ls /etc/onlyoffice/documentserver

и я обнаружил, что после обновления до 5.2:

default.json            development-mac.json      log4js     production-linux.json
default.json.dpkg-dist  development-windows.json  logrotate  production-windows.json
default.json.old        local.json                nginx      supervisor

Я проверил различные файлы конфигурации, и похоже, local.json содержит мою правильную конфигурацию PostgreSQL, значение по умолчанию "secret"и минимальные параметры для их включения / выключения. Это файл длиной 44 строки, в то время как в default.json.
Я правильно настроил свой local.json файл и, наконец, Nextcloud выдал мне токен-ошибку. Я обновил информацию о секретном ключе в настройках Nextcloud ONLYOFFICE, и теперь аутентификация JWS работает правильно!

TL; DR

Плохо задокументированное изменение в версии ONLYOFFICE 5.2.0 состоит в том, что файл конфигурации больше не /etc/onlyoffice/documentserver/default.json, а теперь скорее /etc/onlyoffice/documentserver/local.json. Следовательно, чтобы изменить конфигурацию ONLYOFFICE, файл, который нужно редактировать, теперь /etc/onlyoffice/documentserver/local.json.