docker-compose部署Nginx Proxy Manager、Nextcloud与Collabora CODE联动失败求助
Nextcloud + Collabora CODE 联动修复方案
1 修复docker-compose.yaml语法错误
当前配置中npm-app服务缩进错误,与services节点平级,需调整缩进和其他服务对齐,归属到services下才会正常加载。
2 补全Collabora CODE运行参数
在code服务的environment配置块中新增以下参数:
- extra_params=--o:ssl.enable=false --o:ssl.termination=true - server_name=collabora.domain.tld
同时修改COLLABORA_DOMAIN环境变量的值,将域名中的点转义为\\.,例如原来的nextcloud.domain.tld改为nextcloud\\.domain\\.tld,Collabora要求该参数为正则格式,才能正确识别允许对接的Nextcloud域名。
3 调整NPM反向代理配置
打开collabora.domain.tld对应的代理主机编辑页:
- 勾选「Websockets Support」选项,Collabora依赖WebSocket连接完成和Nextcloud的通信
- 切换到「Custom Nginx Configuration」标签,添加如下配置:
location / { proxy_pass http://code:9980; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_buffering off; client_max_body_size 0; proxy_read_timeout 36000s; proxy_request_buffering off; }
4 修改Nextcloud基础配置
进入Nextcloud容器内的/var/www/html/config/config.php文件,新增/修改以下配置项:
'trusted_proxies' => array ( 0 => 'npm-app', ), 'overwriteprotocol' => 'https', 'allow_local_remote_servers' => true,
上述配置将NPM设置为信任代理,强制使用HTTPS协议,同时允许Nextcloud调用本地服务接口。
5 生效验证
执行docker-compose up -d --force-recreate重启所有服务,进入Nextcloud后台的Office应用设置页,将Collabora服务地址填写为https://collabora.domain.tld,保存后即可完成关联。
内容的提问来源于stack exchange,提问作者Pinja
相关产品推荐
相关产品推荐

