6859846b7c
- bootstrap 失败恢复 SSH 临时登录回退 - ssh_bootstrap 真安装检测与 config 目录自愈 - axs Gitea 发布源切换为 https://axs.kuma1xn.vip
1.4 KiB
1.4 KiB
IP 域名自动探测 — 实施说明
日期: 2026-06-24
涉及文件
| 文件 | 动作 |
|---|---|
server/utils/site_host.py |
新增:IP 判定与站点 host 解析 |
server/utils/nginx_domain_detect.py |
新增:远程 nginx 域名探测命令 |
server/application/server_batch_common.py |
扩展:探测并写 site_url |
server/application/services/ip_domain_detect_schedule.py |
新增 |
server/background/ip_domain_detect_loop.py |
新增 |
server/application/services/server_batch_service.py |
新增 op detect-domain |
server/config.py |
新增配置项 |
server/main.py |
注册 loop |
tests/test_*.py |
单元测试 |
docs/changelog/2026-06-24-ip-domain-detect-schedule.md |
changelog |
实现步骤
site_host.py镜像前端serverSiteUrl.ts逻辑。build_nginx_domain_detect_command扫描 Baota vhost 文件名 + server_name。detect_and_save_site_urlSSH 执行并更新extra_attrs。- schedule 列出候选 →
start_batch_job(op="detect-domain")。 - main 注册 loop;config 默认 23:30。
测试要点
- cron 23:30 北京时区匹配
list_ip_only_without_site_server_ids过滤逻辑- nginx 命令含 quote、跳过 IP basename
- schedule 幂等(already_ran_today)
回滚
.env设IP_DOMAIN_DETECT_ENABLED=false并重启 API;或删除新增 loop 注册。