# 实施说明 — 生产探针与健康检查补全（2026-06-09）

## 背景

- `prod_health_check.sh` 鉴权段依赖 `NEXUS_TEST_ADMIN_PASSWORD`，生产 `.env.prod` 未配置且文件权限 root，导致 SKIP。
- 国内运营商线路可能阻断外网 HTTPS，但 SSH 源站 `127.0.0.1:8600` 可用。

## 方案

1. **`scripts/prod_probe.py`**：统一探针逻辑（外网公开 / SSH 源站 / 鉴权契约）。
2. **`scripts/prod_probe_install.sh`**：在宿主机 `.env.prod` 写入探针口令（与 admin 登录一致，不入 git）。
3. **`prod_health_check.sh`**：薄封装，调用 `prod_probe.py`。

## 鉴权检查项

| 端点 | 断言 |
|------|------|
| `POST /api/auth/login` | 返回 `access_token` |
| `GET /health/detail` | `checks.mysql` / `checks.redis` = ok |
| `GET /api/alert-history/stats` | today/active/recovered/top_server |
| `GET /api/alert-history/?per_page=50` | items + total + per_page=50 |
| 命令/会话分页 | items + total |
| `POST /api/schedules/` once+push | HTTP 201，随后 DELETE 清理 |

## 涉及文件

- `scripts/prod_probe.py`（新）
- `scripts/prod_probe_install.sh`（新）
- `scripts/prod_health_check.sh`
- `docker/.env.prod.example`
- `docs/project/nexus-1panel-operations-knowledge.md`（探针小节）

## 验证

```bash
bash scripts/prod_health_check.sh
NEXUS_TEST_ADMIN_PASSWORD='…' bash scripts/prod_probe_install.sh   # 一次性配置生产
```

## 回滚

- 删除 `.env.prod` 中 `NEXUS_TEST_ADMIN_PASSWORD=` 行；探针鉴权段恢复 SKIP。
