lili 38dd2dc4e5 feat(infra): Nacos 2.4.3 自托管 mini-infra(standalone+MySQL 后端+lean 512m JVM)(切片一 阶段〇 B1)
纯增量部署、host 网络、复用既有 MySQL nacos 库;鉴权开 token。探针 200 绿,内存 <700M 不挤 RAGflow。
端点/密钥写回 docs/内网凭据与端点.md。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 08:32:13 -07:00

31 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# =============================================================================
# Nacos 健康探针 —— 部署后就绪判定(切片一 阶段〇 B1)
# -----------------------------------------------------------------------------
# 只做一件事:探 Nacos 的 readiness 端点。绿 = HTTP 200,红 = 非 200 / 超时。
#
# 两处内网纪律:
# - `--noproxy '*'`:本机系统代理是 fake-ip(198.18.x);内网直连(Tailscale 100.64.x)
# 必须绕过它,否则连接被代理拦下返 000。这是内网外呼铁律。
# - `/nacos/v1/console/health/readiness` 在 Nacos 的 auth 白名单(nacos.security.ignore.urls
# 含 /v1/console/health/**)内,开鉴权后仍可无 token 访问,适合做就绪探针。
#
# 用法:NACOS=http://100.64.0.8:8848 bash deploy/infra/nacos/health-check.sh
# =============================================================================
set -uo pipefail
NACOS="${NACOS:-http://100.64.0.8:8848}"
# curl -w 恒会输出 http_code(失败时为 000);仅在 curl 二进制本身异常返空时兜底 000。
# 不用 `|| echo 000` 兜底 —— 那会与 -w 的 000 叠加成 "000000"。
code="$(curl -s -o /dev/null -w '%{http_code}' --noproxy '*' --max-time 8 \
"${NACOS}/nacos/v1/console/health/readiness" 2>/dev/null)"
code="${code:-000}"
if [[ "$code" == "200" ]]; then
echo "PASS Nacos readiness 200 @ ${NACOS}"
exit 0
fi
echo "FAIL Nacos readiness=${code} @ ${NACOS}"
exit 1