From 965c9cb41abc5ff5f0b07725310b0f9ff99fe2d4 Mon Sep 17 00:00:00 2001 From: HomeDash Bot Date: Sat, 12 Sep 2026 09:41:01 +0800 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20code=5Fof=20=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=8F=90=E5=88=B0=E7=AD=89=E5=BE=85=E5=BE=AA=E7=8E=AF=E4=B9=8B?= =?UTF-8?q?=E5=89=8D=EF=BC=88=E8=87=AA=E6=A3=80=E9=80=80=E5=87=BA=E7=A0=81?= =?UTF-8?q?=20127=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 第二次练兵:路由表路径修复生效(apply routes: 2),但因等待监听的循环 调用了尚未定义的 code_of,脚本以 127 退出。把函数定义移到首次调用之前。 --- deploy/install-host.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deploy/install-host.sh b/deploy/install-host.sh index 8c1abd9..c8378eb 100755 --- a/deploy/install-host.sh +++ b/deploy/install-host.sh @@ -155,6 +155,8 @@ APPLY="$(curl -s -X POST -H "Authorization: Bearer $ADMIN_TOKEN" http://127.0.0. echo " apply: $APPLY" case "$APPLY" in *applied*) ;; *) docker logs --tail 40 navi >&2; die "网关配置未通过校验(上面有 nginx 报错原文)";; esac +code_of() { curl -sk -o /dev/null -w '%{http_code}' -m 8 "$@" 2>/dev/null || true; } + # apply 会 reload nginx:等入口监听真正就绪再探测,避免把"还没起来"误判成失败 for i in $(seq 1 20); do code="$(code_of "http://127.0.0.1:${ENTRY_PORT}/" )" @@ -167,7 +169,6 @@ check() { # 名称 期望码 实际码 if [ "$2" = "$3" ]; then echo " ✓ $1 → $3"; else echo " ✗ $1 → $3(期望 $2)"; fail=1; fi } SCHEME=$([ "$TLS" = 1 ] && echo https || echo http) -code_of() { curl -sk -o /dev/null -w '%{http_code}' -m 8 "$@" 2>/dev/null; } check "后台 /admin" 200 "$(code_of "http://127.0.0.1:18080/admin")" check "内部配置 /conf.yml" 200 "$(code_of "http://127.0.0.1:18080/conf.yml")" check "未知域名 → 自定义 404" 404 "$(code_of -k --resolve nobody.invalid:${ENTRY_PORT}:127.0.0.1 "${SCHEME}://nobody.invalid:${ENTRY_PORT}/")"