Files
MemRelay/projects/d1932ed6-07d3-4463-a224-8534ffd69a07/reconfigure 覆盖 trusted_domains 通配项的问题与修复.md
T

2.0 KiB
Raw Blame History

title, type, permalink, stable_id, scope, project_id, memory_type, status, revision, restored_from_commit, created_at, updated_at, tags
title type permalink stable_id scope project_id memory_type status revision restored_from_commit created_at updated_at tags
reconfigure 覆盖 trusted_domains 通配项的问题与修复 experience main/projects/d1932ed6-07d3-4463-a224-8534ffd69a07/reconfigure-覆盖-trusted-domains-通配项的问题与修复 f42fc721-886f-4d6d-85a4-1611d7bc2cf1 project d1932ed6-07d3-4463-a224-8534ffd69a07 experience active 1 6a6a895eaf 2026-09-23T15:05:35.024462+00:00 2026-09-23T15:05:35.024528+00:00
nextoffice
reconfigure
trusted_domains
manage.py
bugfix

问题:manage.py reconfigure 原来只执行 occ config:system:set trusted_domains 0 --value=新IP:端口,而 deploy.py 安装时的布局是索引 0=#^.+$#(接受任意 Host 的正则通配)、1=nextcloud、2=localhost、3=IP:端口。换 IP 后通配项被覆盖、旧地址残留在索引 3,导致“允许通过其他 IP/主机名访问”失效。

修复(提交 e1154e5):在 deploy.py 抽出 configure_access_urls(host, nextcloud_port, onlyoffice_port),统一写 trusted_domains 0..3、overwrite.cli.url、onlyoffice DocumentServerUrl;deploy.configure 和 manage.reconfigure 都调用它,不再手工对齐索引。reconfigure 同时改为 compose up -d --wait(HOST_IP 变化会改变 NEXTCLOUD_TRUSTED_DOMAINS 环境变量、端口变化会改变映射,Compose 会重建容器,需等健康后再跑 occ;本机 Compose v5.3.1 支持 --wait),并用 deploy 的 prompt_value/validate_ipv4 校验新 IP,非法 IP(如 0.0.0.0)在写 .env 前就拒绝。

旧实例修复方式:再执行一次 python3 manage.py reconfigure 即可,因为会完整重写 4 个索引;docs/TROUBLESHOOTING.md 已补充说明(docs/ 不入库)。

验证方法:用 mock 的 occ/compose 执行 deploy.configure 和 manage.reconfigure,断言 occ 调用序列(trusted_domains 恰好 4 次、索引 0 为通配、索引 3 为 IP:端口),以及 .env 重写内容。