最近 UptimeRobot 官方的接口经常抽风,表现为响应头中丢失 CROS,导致跨域出错~
作者今天终于新增了自定义 API 域名的配置,以及在 README 中说明了如何通过 Cloudflare Workers 搭建自己的接口,这篇文章就来说说如何更新升级~

1、简介
- 项目:
- 下载:
- 演示1:
- 演示2:
2、安装
安装教程:
###解决跨域出错
3、新建Cloudflare Workers
1)如果之前已经安装了,那么下载最新版本,直接上传覆盖即可。这个就不细说了。
2)用Cloudflare Workers 搭建 UptimeRobot API 代理,以解决官网 API 跨域问题。
额,Cloudflare的账号应该都有的吧,没有自行注册一个。
登录Cloudflare后,点击右下角的works,然后创建works,粘贴代码保存即可,如下:


3)粘贴代码,如下:
const handleRequest = async ({ request }) => {
let url = new URL(request.url);
let response = await fetch('' + url.pathname, request);
response = new Response(response.body, response);
response.headers.set('Access-Control-Allow-Origin', '*');
response.headers.set('Access-Control-Allow-Methods', '*');
response.headers.set('Access-Control-Allow-Credentials', 'true');
response.headers.set('Access-Control-Allow-Headers', 'Content-Type,Access-Token');
response.headers.set('Access-Control-Expose-Headers', '*');
return response;
}
addEventListener('fetch', (event) => {
event.respondWith(handleRequest(event));
});
4)保存后,复制分配给你的域名,备用,看图:

4、修改 config.js
修改 config.js中的ApiDomian为你的域名;到你网站根目录把刚刚的works域名复制过来粘贴保存即可。
// 站点名 SiteName: 'Uptime Status', // 站点链接 SiteUrl: '/', // UptimeRobot Api 域名 // 只需填写域名部分,默认为官网域名 // 因官网 API 时不时的会 CROS 报错,可填自定义反代域名 // 详见 说明 ApiDomain: '',
注意: ApiDomai这里填写你刚刚搭建的cf works的分配的域名。
5、最后
上面的全部搞定之后,一个漂亮的监控站点就搭建好了。跨域错误也就解决了。因为是纯静态的程序。
安装的话直接下载 zip 包,解压,修改 config.js 配置你的 key,然后随便找个空间把文件传上去就行,不需要 php 等支持,阿里云 oss 都可以。跨域的问题,就依照本教程设置下也就可以了。













