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

推荐订阅源

Y
Y Combinator Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
罗磊的独立博客
博客园_首页
量子位
雷峰网
雷峰网
GbyAI
GbyAI
小众软件
小众软件
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The Cloudflare Blog
IT之家
IT之家
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 聂微东

唯知笔记

唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站 唯知笔记 | 一个高效的知识分享网站
唯知笔记 | 一个高效的知识分享网站
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 地址
}