略
docker run -i -t -d -p 8380:80 -p 8343:443 \ -v /var/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \ -v /var/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \ -v /var/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \ -v /var/onlyoffice/DocumentServer/db:/var/lib/postgresql \ --name onlyoffice_ds \ onlyoffice/documentserver
onlyoffice 的证书默认是加载 data 目录下的 certs/onlyoffice.crt 和 certs/onlyoffice.key ,把证书按该名字放入相应位置即可。
onlyoffice 作为一个 office 预览平台,需要被其他系统调用,也会涉及回调其他系统的地址。 当其他系统使用自签署 https 时,回调也会因为证书验证的问题而报错。
报错信息: Error: unable to verify the first certificate
解决方法:
参考: https://github.com/ONLYOFFICE/Docker-DocumentServer/issues/96
onlyoffice 使用 nodejs 去进行网络连接,证书参数是直接写在代码里的。 这里只能改 nodejs 的配置参数。
使用如下命令进入运行 onlyoffice 的 docker 容器中:
docker attach onlyoffice_ds
把 /etc/onlyoffice/documentserver/default.json 文件拷贝出来。(由于该容器里没有vi,因此修改只能在外部进行。可以 cp 到已经映射的目录,也可以直接输出终端。)
然后修改该文件中的这段设置 services.CoAuthoring.requestDefaults.rejectUnauthorized=false (由原来的 true 改为 false,关掉证书验证。)
把修改后的文件替换回去,重启 onlyoffice 即可。
注意: 这里改的是临时的容器,未提交容器的情况下,重新生成的容器需要重新修改。