v2.3.0 Webhook 通知保存后 url/request_header/request_body 未持久化
Author: mickeyqiaCreated Jul 28, 2026Updated Sep 13, 2026
运行环境
iStoreOS 24.10.7 (OpenWrt), Linux 6.6.141, ARM64 (aarch64), Docker
Nezha 版本
哪吒监控 2.3.0
描述问题
环境
- 哪吒 Dashboard:v2.3.0
- 镜像:ghcr.io/nezhahq/nezha:latest
- 部署方式:Docker
- 数据库:SQLite
- 系统:iStoreOS
数据目录:
/mnt/mmc1-4/nezha-data -> /dashboard/data
sqlite.db 存在且可正常写入。
复现步骤
- 进入「通知」
- 新建或编辑一个 Webhook 通知
- 填写:
- URL
- Request Header
- Request Body
- 点击保存
- 接口返回 success
- 再次进入编辑或调用 API 获取通知
预期结果
保存后应正常保留:
- url
- request_header
- request_body
实际结果
保存后:
以下字段正常保存:
- name
- verify_tls
- format_metric_units
但是:
- url 被保存为空字符串
- request_header 被保存为空字符串
- request_body 被保存为空字符串
导致 Webhook 无法正常使用。
Request Payload
浏览器 Network 可以确认发送的数据正确,例如:
{ "url":"https://api.day.app/xxxxxxxx", "request_header":"{...}", "request_body":"{...}" }
保存接口返回
{ "success": true, "data": 2 }
但是再次获取通知时:
{ "url":"", "request_header":"", "request_body":"" }
补充说明
- 所有 Webhook 都可以复现,并非 Bark 特有问题。
- httpbin、Bark 等 URL 均一样。
- 浏览器确认 Request Payload 正确。
- Dashboard 日志没有 SQLite 或数据库错误。
- sqlite.db 存在且可正常写入。
- 使用官方镜像 ghcr.io/nezhahq/nezha:latest 仍可复现。
复现步骤
配置信息
附加信息
验证
- 我确认这是一个 nezha (哪吒面板) 的问题。
- 我已经搜索了 Issues,并确认该问题之前没有被反馈过。
Source: nezhahq/nezha