前言
在数天的间断尝试,以及家人的不理解中,一度想过放弃https,使用中间的一次http成功测试结果。也想过不要再研究这个。我在怀疑,这个努力方向的意义是什么?他没有对收入有任何的提升,可能只是一种过于沉迷、难以自拔的自我爱好。不管怎么样,我找到了解决方案。
在上一篇的测试中,我通过ssl域名实现了访问,但是还是存在问题。我一度认为,可能只有docker可以实现ip ssl,同时那个文章也是很多年前的了。
我还尝试过配置完整的证书链,设备互相信任证书,都没有成功。结果的问题是,需要更新onlyoffice的安全认证:documentserver-update-securelink.sh。我记得,在看官方文档时,我有更新的,后面的尝试中,竟然一直忘记了,导致了大量的错误路径。
好吧,啰嗦了很久了。
本机信息
PVE-LXC:Debian12
onlyoffice-documentserver_8.3.0-94_amd64
重要提醒
nextcloud和onlyoffice协议要对等,要么两端都是HTTP,要么都是https。调整了onlyoffice的配置,要更新documentserver-update-securelink.sh
HTTP验证
systemctl start ds-example
http://192.168.2.15/,点击GO TO TEST EXAMPLE,应该是可以直接创建文档。如果不可以,请完善搭建过程。一定要完成这些验证,根源没解决,找不到好果子,
HTTPS准备
创建证书
mkdir -p /etc/onlyoffice/documentserver/nginx/ssl openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/onlyoffice/documentserver/nginx/ssl/nextcloud.key -out /etc/onlyoffice/documentserver/nginx/ssl/nextcloud.crt -subj "/C=CN/ST=Guangdong/L=Guangzhou/O=onlyoffice/OU=IT/CN=192.168.2.15"
调整nginx配置
cp -f /etc/onlyoffice/documentserver/nginx/ds-ssl.conf.tmpl /etc/onlyoffice/documentserver/nginx/ds.conf
调整hppts证书
nano /etc/onlyoffice/documentserver/nginx/ds.conf 把 ssl_certificate {{SSL_CERTIFICATE_PATH}}; ssl_certificate_key {{SSL_KEY_PATH}}; 替换为 ssl_certificate /etc/onlyoffice/documentserver/nginx/ssl/nextcloud.crt; ssl_certificate_key /etc/onlyoffice/documentserver/nginx/ssl/nextcloud.key;
禁用证书校验
nano /etc/onlyoffice/documentserver/default.json
找到”rejectUnauthorized”,把对应的值修改为 false
更新安全配置
这里非常重要!这里非常重要!这里非常重要!
我因为忘记更新此处,一直无法链接。只要你修改了上面的内容,一定要更新!
bash /usr/bin/documentserver-update-securelink.sh
重启服务
systemctl restart nginx
验证https配置
systemctl start ds-example
https://192.168.2.15/,这次加上s。点击GO TO TEST EXAMPLE,应该是可以直接创建文档
⚠警告:在正式对接nextcloud前,请关闭ds-example服务!简单的可以重启即可。如不关闭,首次配置页面可以正常,但打开文件时会提示无法连接onlyoffice服务器。
对接nextcloud
查看自己的密钥
documentserver-jwt-status.sh
登录nextcloud,只填写ONLYOFFICE Docs地址即可,勾选关闭证书校验(不安全),保存即可
多说一点
网友提到的填写下方高级配置。那个是基于你使用域名SSL+IP混合才需要的。例如你的ONLYOFFICE Docs地址填写了域名,但你想部分内容内网直接交换,才在下面填写。这个是我的理解。