Cloudflare + pushplus:告警与 Workers 推到微信
效果:Cloudflare 通知触发时微信收到提醒;也可以在 Workers 里自己 POST 一条带自定义正文的消息。
控制台 Webhook 会 POST Cloudflare 自己的 JSON,不会映射为 title / content。直连用 GET 固定文案;要动态正文用 Workers 的 fetch。
前置条件
- 一个 pushplus token(官网扫码获取)
- 能改 Notifications 的账号权限;Workers 方案还需要能发布 Worker
配置步骤
方式一:Notification Webhook(固定文案)
- Dashboard → Notifications → Destinations → Create → Webhook。
- URL 填:
https://www.pushplus.plus/send?token=你的token&title=Cloudflare告警&content=请打开Cloudflare通知中心查看
- Notifications → All notifications → Add,选产品告警(如 SSL、DDoS、Tunnel),Destination 勾选刚建的 Webhook,保存。
方式二:Workers 调 /send
在 Worker 里按业务拼 JSON(content 必填):
export default {
async fetch() {
const res = await fetch("https://www.pushplus.plus/send", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
token: "你的token",
title: "Cloudflare Worker",
content: "自定义正文",
template: "markdown",
}),
});
return new Response(await res.text());
},
};
token 用 Worker Settings → Variables 的 Secret,不要写进仓库。完整字段见 消息接口。
验证
curl -X POST "https://www.pushplus.plus/send" \
-H "Content-Type: application/json" \
-d '{"token":"你的token","title":"Cloudflare 配置测试","content":"token 可用","template":"markdown"}'
再在 Destination 上点 Send test,或临时访问该 Worker。
常见问题
测试成功但正文是固定句? 控制台 Webhook 直连就是固定文案。动态字段用 Workers 或会员 预处理。