我在跑ONLYOFFICE 文档服务器在 Ubuntu Server 18.04 LTS 上的 nginx 上的 https:// vhost 下。它可以通过 onlyoffice.example.com 访问,我还有一个Nextcloud它集成的 nextcloud.example.com 上的实例。
为了防止未经授权访问我的服务器,我曾经在/etc/onlyoffice/documentserver/default.json
文件中为browser
、inbox
和字符串设置了一个 JWT 身份验证密钥。 更新到版本后,我不得不将文件重置为默认值(来自 GitHub 存储库) outbox
,因为出于某种原因,ONLYOFFICE 否则无法工作(?),然后我正确设置了我的 PostgreSQL DB 密码以及上面提到的四个密钥字符串(全部相同)。session
5.2.0
default.json
true
我还确保所有三个选项(browser
、inbox
和)都设置了密钥认证outbox
。
然后我跑了:
#: supervisorctl restart all
#: systemctl restart nginx
并成功重启了我的网络服务器和 ONLYOFFICE。
当我进入 Nextcloud ONLYOFFICE 设置时,无需输入任何密钥,我的实例就可以正常工作。如果我指定任何密钥(包括正确的密钥),它会给我以下错误
尝试连接时出错(文档服务发生错误:下载要转换的文档文件时出错。)
值得注意的是,这样根本没有安全性,任何人都可以免费在他们的系统上使用我的 ONLYOFFICE 文档服务器。
下面是我的文件相关部分(从第 132 行开始)的屏幕截图/etc/onlyoffice/documentserver/default.json
(红色 X 的位置,出于隐私考虑,我在截图工具中隐藏了我的密钥)。
答案1
经过额外的测试,我尝试故意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 行的文件,而 中有 241 行default.json
。
我正确配置了我的local.json
文件,最后,Nextcloud 给了我一个令牌错误。我在 Nextcloud ONLYOFFICE 设置中更新了密钥信息,现在 JWS 身份验证正常工作了!
总结
ONLYOFFICE 版本中一个记录不全的变化5.2.0
是配置文件不再是/etc/onlyoffice/documentserver/default.json
,而是/etc/onlyoffice/documentserver/local.json
。因此,要修改 ONLYOFFICE 配置,现在要编辑的文件是/etc/onlyoffice/documentserver/local.json
。
答案2
我一直在尝试解决同样的问题 - 我有一个 docker 容器设置,因此根据反馈 - 我能够按照提供的屏幕截图找到我的令牌,并且无需修改任何文件,我能够按照所附屏幕截图在仅 office 下的 GUI 中添加令牌 - 然后 OnlyOffice 就可以按预期工作了
希望有帮助