fix(deploy): code_of 定义提到等待循环之前(自检退出码 127)

第二次练兵:路由表路径修复生效(apply routes: 2),但因等待监听的循环
调用了尚未定义的 code_of,脚本以 127 退出。把函数定义移到首次调用之前。
This commit is contained in:
HomeDash Bot
2026-09-12 09:41:01 +08:00
parent 158217103d
commit 965c9cb41a

View File

@ -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}/")"