惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
腾讯CDC
博客园 - 司徒正美
A
About on SuperTechFans
H
Help Net Security
J
Java Code Geeks
C
Check Point Blog
B
Blog RSS Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
MongoDB | Blog
MongoDB | Blog
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
MyScale Blog
MyScale Blog
V
Visual Studio Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
博客园 - 【当耐特】
雷峰网
雷峰网

唯知笔记

唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站
唯知笔记 | 一个高效的知识分享网站
weizwz@foxma · 2026-06-04 · via 唯知笔记

如何为 UptimeFlare 添加代理服务 ​

UptimeFlare 是一个基于 Cloudflare Workers 的 Serverless 网站状态监控服务,完全免费且易于部署。具体简介和部署流程见 完全免费的网站状态监控服务 - UptimeFlare

本文为其添加代理服务用于解决 UptimeFlare Worker 与 Cloudflare Pages/Workers 同账号部署时的回环限制问题,通过将监控请求转发至 Vercel 服务器发出,绕开 Cloudflare 的回环拦截。

问题描述

静态服务(托管在 Cloudflare 上)触发了 Cloudflare 的 Loopback 保护。 Cloudflare Worker 去请求同一个 Cloudflare 账号下的域名,会被识别为内部回环请求,直接返回 503,然后后续可能触发临时封锁导致超时。

前置条件 ​

  • 已部署 UptimeFlare
  • 已有 Vercel 账号(可在 vercel.com 免费注册)

部署步骤 ​

1. 安装 Vercel CLI ​

bash

pnpm i vercel@latest -g

2. 登录 Vercel ​

执行后会自动跳转浏览器完成登录,登录成功后终端会提示确认。

3. 部署 ​

进入 UptimeFlare/proxy 目录,执行部署命令:

bash

cd UptimeFlare/proxy
vercel

按照交互提示操作:

提示输入
Set up and deploy?回车确认
Which team?选择你的个人账号
Link to existing project?N
Name?输入名称 uptimeflare-proxy 或者回车使用默认名 proxy
In which directory is your code located?回车(./
Customize settings?N
Change additional project settings?N

部署完成后终端会输出访问地址,例如:

https://xxx-proxy.vercel.app

4. 更新 UptimeFlare 配置 ​

uptime.config.ts 的监控项中加入 checkProxy(仅当目标服务在 Cloudflare 且你的 UptimeFlare 与之同账号部署时):

ts

{
  id: 'example',
  name: '示例服务',
  method: 'HEAD',
  target: 'https://example.com/',
  expectedCodes: [200],
  timeout: 10000,
  checkProxy: 'https://xxx-proxy.vercel.app',  // 填入你的 Vercel 地址
},

提交代码后 UptimeFlare Worker 自动重新部署,下一个检测周期即生效。

后续更新 ​

如需更新 proxy 代码,在 proxy 目录下执行:

其他问题 ​

1. HEAD 请求被拦截或超时 ​

Vercel 代理环境使用 HEAD 方法请求某些站点时,会被拦截(返回 503)或导致连接挂起(Timeout)。由于 Cloudflare WAF 限制或服务端框架(如 Next.js)的处理差异,默认的 HEAD 方法可能会失败。请根据报错类型尝试以下两种方法:

  • 若是 503 报错:通常出现在 Next.js 等框架的根域名上。请将探测方法改用 GETexpectedCodes 保持 [200]
  • 若是 Timeout 超时:请将探测方法改用 OPTIONS,并将 expectedCodes 改为 [200, 405]OPTIONS 作为预检请求常被 WAF 放行,返回 405 即可证明服务存活。

ts

{
  id: 'example',
  name: '示例服务',
  method: 'GET',  // 或 'OPTIONS'
  target: 'https://example.com/',
  expectedCodes: [200], // 若为 OPTIONS 请配置 [200, 405]
  timeout: 10000,
  checkProxy: 'https://xxx-proxy.vercel.app',  // 填入你的 Vercel 地址
}