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