Cloudflare相关部署配置

主要记录在Cloudflare相关部署过程遇到的问题和解决方法

cloudflare worker搭配meting-api配置

网上能搜到的搭建教程大多都是github项目上自带的说明,最新的版本说明中只有docker、deno、本地node、vercel以及反向代理等。

具体原文如下:

xizeyoupan/Meting-API: 🐳 Meting API 的容器化与部署

(本地尝试多种方法部署,只有vercel以及本地node node.js命令可以成功,node命令使用时不能CTRL+C不然就会退出)

本地尝试以及cloudflare pages搭建方案

本地尝试如下步骤手动部署,发现在执行第二步时会报错

1
2
npm i
npm run build:all

报错如下:

[30060:1130/185937.420:ERROR:node_bindings.cc(378)] Most NODE_OPTIONs are not supported in packaged apps. See documentation for more details.

通过百度发现目前并没有好的解决方案。

对package.json研究了下,发现实际“build:all”对应“node esbuild.config.js”命令,我们转而直接使用对应指令,发现就可以直接编译过了。

编译生成的部分在对应esbuild.config.js有描述:

outfile: ‘./dist/cloudflare-workers.js’

outfile: ‘./dist/cloudflare-workers-min.js’,

outfile: ‘./dist/deno.js’,

也就是说实际生成的是dist目录下的三个文件,本地使用node xxx.js(xxx为对应上述js文件),可以实现对应功能,本地在对应PORT链接中可以直接访问到对应网站且test成功,但实际单独部署到cloudflare上是失败的(cloudflare最初是打算部署到pages里面然后结合github实现自动部署,不过实际上不论采用哪种命令都无法正常部署成功,该node命令一旦主动停止,服务也就自己停了,而自动部署对应的就是正常退出后实际部署内容可以正常使用,因此pages不太符合当前的要求)

cloudflare worker方案探索

在上述最新的部署说明中没有cloudflare相关的描述,但经过不懈探索,在另一个github上看到有历史版本对于cloudflare相关部署描述(具体链接如下)

cky008/Meting-API: 🐳 Meting API 的容器化与部署

上述部署描述中有“Cloudflare Workers”相关描述,如果不仔细看的话很容易忽略,因为实际上相关内容被折叠了,打开之后会看到如下描述:

由于cf会自动去除x-real-ip以及在headers中加shit,网易云可能会失效。使用网易云的同学请尝试其他部署方式。

在全球拥有数据中心,提供的域名被阻断,使用自有域名后速度很快。冷启动速度很快。

fork本项目,依次点击actions/publish/run workflow。保持默认即可。待CI构建结束后下载cloudflare-workers.js并解压。在Workers创建一个Service,点右上角Quick edit。把cloudflare-workers.js的内容复制进去deploy即可。

前面一堆描述,应该就是后续版本删掉“Cloudflare Workers”方案的原因,但是为了刚开始学习部署,肯定要自己先尝试一下顺便学习一下worker怎么用,所以直接开整。

方法可以参考上面这种,不过既然本地之前已经生成了对应文件,直接copy过来就可以了。

不过,按照上述流程操作完之后直接访问依旧是访问不了,因此我这边是反复删除和创建多次尝试,依旧不行。奇怪的是等了一段时间,我把worker自定义域配置了一下,通过自定义域居然就能访问了。

效果如下:

meting-api

相关test也是没有问题的:

meting-api-test


cloudflare相关配置

DNS解析修改

详细图文手把手教你阿里云注册域名如何托管到CloudFlare DNS服务_阿里云域名转移到cloud-CSDN博客

cloudflare 设置域名301转发重定向

Cloudflare设置301重定向,附常见问题和解决方法_dns cname的作用 301重定向-CSDN博客

使用 Cloudflare 进行域名跳转(重定向) - 知乎


Cloudflare Workers优秀项目收集

这里直接放上大佬的整理链接

Cloudflare Workers优秀项目收集(持续更新) - iGdux

目前个人在尝试下面的东西,不过还没成功,后续有进展再更新

使用 Cloudflare Workers 自建节点科学上网

使用 Cloudflare Workers 自建节点科学上网 | 言外之音

自定义导航

sleepwood/CF-Worker-Dir: A web directories base on Cloudflare worker. (其实已经通过cf worker搞好了,只不过一开始部署需要等好一段时间才能访问网站)

网站监测

lyc8503/UptimeFlare: ✔ Free and serverless uptime monitoring / status page on Cloudflare Workers, with Geo-specific checks

个人使用了lyc8503这个博主的uptimeflare结合cloudflare worker及kv进行了自动部署

评论区加载中...
本博客已稳定运行 小时 分钟
共发表 3 篇文章 · 总计 8.40 k 字
本站总访问量
使用 Hugo 构建
主题 StackJimmy 设计