前言
其实吧,顺利的就是在nextcloud填入onlyoffice的相关配置即可。但因为我使用的都是内网IP直接访问,就存在很多问题。
http和https不能混用。比如你nextcloud用了https,那么onlyoffice也必须要用https。
我的环境
服务器A运行nextcloud,服务器B运行onlyoffice。原本都是单纯自己签了IP的ssl证书,只有一台设备浏览器可以访问,换了浏览器就不行了,最后是服务器B使用了域名,带完整的SSL证书
报错
连接时发生异常 (文档服务内部发生异常: Error while downloading the document file to be converted.) (版本 8.3.0.94)
从/var/log/onlyoffice/documentserver/converter/可以看到具体内容
[2025-02-21T03:43:40.964] [ERROR] [localhost] [check_86963106] [userId] nodeJS - error downloadFile:url=https://192.168.2.8/apps/onlyoffice/empty?doc=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhY3Rpb24iOiJlbXB0eSJ9.AwykdHcfq6G3L4UICxvV4Y-Kkcrw5mCjDd3uSN_4SOY;attempt=3;code:UNABLE_TO_VERIFY_LEAF_SIGNATURE;connect:null Error: unable to verify the first certificate at TLSSocket.onConnectSecure (node:_tls_wrap:1532:34) at TLSSocket.emit (node:events:527:28) at TLSSocket._finishInit (node:_tls_wrap:946:8) at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:727:12)
踩过的坑
我尝试过让两个设备同时信任两个IP的证书,也是不行的
我尝试过修改 “rejectUnauthorized”:为 false,是不行的
我尝试过在nextcloud配置页面禁用SSL证书校验,是不行的
昙花一现
受https://www.orgleaf.com/3589.html启发,基于我上面的双端自签IP SSL,并完成互信,只能在一台设备上访问。
配置如下
ONLYOFFICE Docs地址 》》》填ONLYOFFICE部署IP
服务器内部请求 ONLYOFFICE Docs 的地址 》》》填ONLYOFFICE部署IP
在ONLYOFFICE Docs 内部请求服务器的地址 》》》填nextcloud部署IP
目前方案
为ONLYOFFICE所在服务器绑定域名,使用certbot 签发正式的证书,修改了ONLYOFFICE Docs地址,暂未发现异常。目前暂时不考虑证书自动续签,等到期看看情况。
配置如下
ONLYOFFICE Docs地址 》》》域名并配置SSL
服务器内部请求 ONLYOFFICE Docs 的地址 》》》填ONLYOFFICE部署IP
在ONLYOFFICE Docs 内部请求服务器的地址 》》》填nextcloud部署IP