修复 Nextcloud occ setupchecks 卡顿问题:一处配置引发的阻塞
在管理 Nextcloud 实例时,使用命令行运行以下指令以检查系统配置是否正确,是一项常规操作: php occ setupchecks 但在某一部署环境中,这条命令卡在执行状态,迟迟无输出,也无错误提示;Web 页面上“后台设置”中的系统检查同样无法完成,界面持续转圈。 最终,这一问题仅由一处配置项引起:trusted_domains。 问题表现 一切看似运行良好,但检查命令却始终无法完成。 问题分析 Nextcloud 在执行 setupchecks 时,会验证 Web 服务器是否能正确响应特定文件(如 JavaScript 模块 .mjs),这通常通过内部 HTTP 请求实现。 此过程使用了 Nextcloud 的 CheckServerResponseTrait,其行为为: 遍历所有配置在 trusted_domains 中的域名和 IP,对每一个地址发起 HTTP 请求(如访问 .mjs 文件)。 如果某些地址无法访问、证书无效、反向代理未配置,或请求超时,这些失败会直接影响 CLI 工具的运行,导致整个 setupchecks 阻塞。 配置示例(问题前) 在配置文件 config.php 中,trusted_domains 项原本包含了大量条目: ‘trusted_domains’ => array ( 0 …