cloudflare worker搭配meting-api配置
网上能搜到的搭建教程大多都是github项目上自带的说明,最新的版本说明中只有docker、deno、本地node、vercel以及反向代理等。
具体原文如下:
xizeyoupan/Meting-API: 🐳 Meting API 的容器化与部署
(本地尝试多种方法部署,只有vercel以及本地node node.js命令可以成功,node命令使用时不能CTRL+C
不然就会退出)
本地尝试以及cloudflare pages搭建方案
本地尝试如下步骤手动部署,发现在执行第二步时会报错
|
|
报错如下:
[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自定义域配置了一下,通过自定义域居然就能访问了。
效果如下:
相关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结合cloudflare worker及kv进行了自动部署