You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NGINX部署Nextcloud对接OnlyOffice出现unable to verify the first certificate错误

问题原因

你的问题由两个独立的问题叠加导致:

  1. Nginx配置的SSL证书仅包含域名证书,未包含EuropeanSSL的中间证书链,服务端返回的证书链不完整
  2. OnlyOffice Document Server基于NodeJS开发,NodeJS默认使用自带的根证书信任库,不会读取系统更新后的CA证书存储,因此你更新系统CA后wget正常但OnlyOffice仍然报错

解决方案

第一步:修复Nginx证书链配置

  • 找到EuropeanSSL颁发给你的中间CA证书、根CA证书文件,将三个文件(域名证书、中间证书、根证书)按顺序合并到/etc/nginx/ssl/xxx.com.crt中,顺序要求:
    1. 你的*.xxx.com域名证书放在最前面
    2. 其次放EuropeanSSL Server CA 2中间证书
    3. 最后放EuropeanSSL根证书
  • 执行nginx -t验证配置无错后,执行systemctl restart nginx重启Nginx
  • 验证证书链完整性:执行openssl s_client -connect cloud.xxx.com:443,确认返回结果中不再出现verify return code:21错误

第二步:适配OnlyOffice的NodeJS证书信任逻辑

二选一即可,优先选第一种,第二种仅推荐测试环境使用:

方案1:添加自定义CA证书到NodeJS信任链

  • 将EuropeanSSL的根CA和中间CA证书合并为一个PEM文件,比如存为/etc/onlyoffice/ca.pem,也可以直接指向你已经放到系统CA目录的证书文件
  • 编辑OnlyOffice的systemd服务配置,添加环境变量NODE_EXTRA_CA_CERTS=/usr/local/share/ca-certificates/xxx.com.crt,或者直接在/etc/onlyoffice/documentserver/local.json配置文件中指定可信CA路径
  • 执行systemctl daemon-reload重载服务配置,执行systemctl restart ds-*重启所有OnlyOffice服务

方案2(仅测试环境使用):关闭OnlyOffice的SSL证书验证

  • 编辑/etc/onlyoffice/documentserver/local.json,找到services.CoAuthoring.requestDefaults.rejectUnauthorized字段,将值改为false
  • 执行systemctl restart ds-*重启所有OnlyOffice服务

验证

操作完成后回到Nextcloud的OnlyOffice应用设置页面,重新保存连接配置,确认不再弹出连接错误,查看OnlyOffice日志无证书相关报错即可。

内容的提问来源于stack exchange,提问作者safak93

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 09:18:02