我用 WorkBuddy 做了一个「减肥工作台」——单文件 HTML,包含减肥计划、合理饮食、食物卡路里追踪三个模块。本地双击就能用,但我需要把它分享给别人、并且手机也能打开,也就是要有一个公网可访问的永久链接。
这一篇把从「本地 HTML」到「公网域名」的完整链路和踩过的坑一次讲清楚。全程零成本,只需要一个 Cloudflare 账号。
链路是这样的:
本地 HTML 工作台 → Cloudflare Pages/Workers 托管 → 绑定免费域名 eu.org → 国内可访问的 HTTPS 链接
为什么不用 GitHub Pages?因为 *.github.io 在国内访问经常不稳定。Cloudflare 的 *.pages.dev 在国内也时好时坏。所以最后我用 Cloudflare Workers 做托管 + eu.org 免费域名 做门面。
在 WorkBuddy 里让它帮你生成 Worker 版本的代码,然后本地执行:
npm install -g wrangler wrangler login wrangler deploy
wrangler deploy 成功后,会得到一个形如 qishen-wellness-desk.<你的子域>.workers.dev 的地址。
第一个坑:wrangler login 会弹浏览器授权。如果浏览器一直转圈,改用 API Token 方式——在 Cloudflare 控制台创建一个 Worker 模板的 Token,然后:
set CLOUDFLARE_API_TOKEN=你的token
把 Token 配成环境变量后再 wrangler deploy 就不需要登录了。
部署完兴冲冲分享给朋友,结果国内访问不了。
排查方法很简单,先看 DNS 解析:
nslookup 你的项目.workers.dev dig 你的项目.workers.dev @223.5.5.5
结果解析出来是 198.18.0.56 —— 这是一个保留地址(198.18.0.0/15 属于基准测试网段),出现它就说明 workers.dev 这个域名在国内被 DNS 污染了。
结论:不是你的部署有问题,是这个域名本身在国内不通。必须换一个干净的自有域名。
eu.org 提供永久免费的二级域名,申请方式:
打开 nic.eu.org 注册账号 → 提交域名申请(例如 qishen.eu.org) 填写 technical contact 和 admin contact 等待人工审核(通常几天到两周)
第二个坑,也是最大的坑:如果 admin contact 信息留空,申请会一直卡在 pending 不动。我第一次就因为联系信息没填全,状态挂了很久。务必把 admin contact 的邮箱填好,否则审核不推进。
审核通过后,去 Cloudflare 把域名加进去,Cloudflare 会给你两个 NS 服务器地址,回到 eu.org 后台把这俩 NS 填上,域名就接管到 Cloudflare 了。
在 Worker 的 Settings → Domains & Routes 里,添加 Custom Domain,填 你的域名。等证书签发(一般几分钟),HTTPS 链接就通了。
验证:
curl -I https://你的域名
看到 HTTP/2 200 就成了。
坑1:
wrangler login转圈 → 改用 API Token 环境变量 坑2:workers.dev国内解析到 198.18.0.56 → 域名被污染,必须换自有域名 坑3:eu.org 申请卡 pending → admin contact 必须填完整邮箱 坑4:Custom Domain 一直 pending → 检查 NS 是否已在 Cloudflare 生效 坑5:HTTPS 报证书错误 → 等 Cloudflare 边缘证书签发,或把 SSL 模式设为 Full
整条链路的价值在于:用 WorkBuddy 快速产出一个能用的工具,再用 Cloudflare + eu.org 把它变成一个人人可访问的公网产品,全程零成本。
关键认知只有一个:workers.dev 和 pages.dev 在国内不可靠,一定要绑自有域名。把这一点想通,后面的坑都是操作细节。
我用 WorkBuddy 做了一个「减肥工作台」——单文件 HTML,包含减肥计划、合理饮食、食物卡路里追踪三个模块。本地双击就能用,但我需要把它分享给别人、并且手机也能打开,也就是要有一个公网可访问的永久链接。
这一篇把从「本地 HTML」到「公网域名」的完整链路和踩过的坑一次讲清楚。全程零成本,只需要一个 Cloudflare 账号。
链路是这样的:
本地 HTML 工作台 → Cloudflare Pages/Workers 托管 → 绑定免费域名 eu.org → 国内可访问的 HTTPS 链接
为什么不用 GitHub Pages?因为 *.github.io 在国内访问经常不稳定。Cloudflare 的 *.pages.dev 在国内也时好时坏。所以最后我用 Cloudflare Workers 做托管 + eu.org 免费域名 做门面。
在 WorkBuddy 里让它帮你生成 Worker 版本的代码,然后本地执行:
npm install -g wrangler wrangler login wrangler deploy
wrangler deploy 成功后,会得到一个形如 qishen-wellness-desk.<你的子域>.workers.dev 的地址。
第一个坑:wrangler login 会弹浏览器授权。如果浏览器一直转圈,改用 API Token 方式——在 Cloudflare 控制台创建一个 Worker 模板的 Token,然后:
set CLOUDFLARE_API_TOKEN=你的token
把 Token 配成环境变量后再 wrangler deploy 就不需要登录了。
部署完兴冲冲分享给朋友,结果国内访问不了。
排查方法很简单,先看 DNS 解析:
nslookup 你的项目.workers.dev dig 你的项目.workers.dev @223.5.5.5
结果解析出来是 198.18.0.56 —— 这是一个保留地址(198.18.0.0/15 属于基准测试网段),出现它就说明 workers.dev 这个域名在国内被 DNS 污染了。
结论:不是你的部署有问题,是这个域名本身在国内不通。必须换一个干净的自有域名。
eu.org 提供永久免费的二级域名,申请方式:
打开 nic.eu.org 注册账号 → 提交域名申请(例如 qishen.eu.org) 填写 technical contact 和 admin contact 等待人工审核(通常几天到两周)
第二个坑,也是最大的坑:如果 admin contact 信息留空,申请会一直卡在 pending 不动。我第一次就因为联系信息没填全,状态挂了很久。务必把 admin contact 的邮箱填好,否则审核不推进。
审核通过后,去 Cloudflare 把域名加进去,Cloudflare 会给你两个 NS 服务器地址,回到 eu.org 后台把这俩 NS 填上,域名就接管到 Cloudflare 了。
在 Worker 的 Settings → Domains & Routes 里,添加 Custom Domain,填 你的域名。等证书签发(一般几分钟),HTTPS 链接就通了。
验证:
curl -I https://你的域名
看到 HTTP/2 200 就成了。
坑1:
wrangler login转圈 → 改用 API Token 环境变量 坑2:workers.dev国内解析到 198.18.0.56 → 域名被污染,必须换自有域名 坑3:eu.org 申请卡 pending → admin contact 必须填完整邮箱 坑4:Custom Domain 一直 pending → 检查 NS 是否已在 Cloudflare 生效 坑5:HTTPS 报证书错误 → 等 Cloudflare 边缘证书签发,或把 SSL 模式设为 Full
整条链路的价值在于:用 WorkBuddy 快速产出一个能用的工具,再用 Cloudflare + eu.org 把它变成一个人人可访问的公网产品,全程零成本。
关键认知只有一个:workers.dev 和 pages.dev 在国内不可靠,一定要绑自有域名。把这一点想通,后面的坑都是操作细节。
我用 WorkBuddy 做了一个「减肥工作台」——单文件 HTML,包含减肥计划、合理饮食、食物卡路里追踪三个模块。本地双击就能用,但我需要把它分享给别人、并且手机也能打开,也就是要有一个公网可访问的永久链接。
这一篇把从「本地 HTML」到「公网域名」的完整链路和踩过的坑一次讲清楚。全程零成本,只需要一个 Cloudflare 账号。
链路是这样的:
本地 HTML 工作台 → Cloudflare Pages/Workers 托管 → 绑定免费域名 eu.org → 国内可访问的 HTTPS 链接
为什么不用 GitHub Pages?因为 *.github.io 在国内访问经常不稳定。Cloudflare 的 *.pages.dev 在国内也时好时坏。所以最后我用 Cloudflare Workers 做托管 + eu.org 免费域名 做门面。
在 WorkBuddy 里让它帮你生成 Worker 版本的代码,然后本地执行:
npm install -g wrangler wrangler login wrangler deploy
wrangler deploy 成功后,会得到一个形如 qishen-wellness-desk.<你的子域>.workers.dev 的地址。
第一个坑:wrangler login 会弹浏览器授权。如果浏览器一直转圈,改用 API Token 方式——在 Cloudflare 控制台创建一个 Worker 模板的 Token,然后:
set CLOUDFLARE_API_TOKEN=你的token
把 Token 配成环境变量后再 wrangler deploy 就不需要登录了。
部署完兴冲冲分享给朋友,结果国内访问不了。
排查方法很简单,先看 DNS 解析:
nslookup 你的项目.workers.dev dig 你的项目.workers.dev @223.5.5.5
结果解析出来是 198.18.0.56 —— 这是一个保留地址(198.18.0.0/15 属于基准测试网段),出现它就说明 workers.dev 这个域名在国内被 DNS 污染了。
结论:不是你的部署有问题,是这个域名本身在国内不通。必须换一个干净的自有域名。
eu.org 提供永久免费的二级域名,申请方式:
打开 nic.eu.org 注册账号 → 提交域名申请(例如 qishen.eu.org) 填写 technical contact 和 admin contact 等待人工审核(通常几天到两周)
第二个坑,也是最大的坑:如果 admin contact 信息留空,申请会一直卡在 pending 不动。我第一次就因为联系信息没填全,状态挂了很久。务必把 admin contact 的邮箱填好,否则审核不推进。
审核通过后,去 Cloudflare 把域名加进去,Cloudflare 会给你两个 NS 服务器地址,回到 eu.org 后台把这俩 NS 填上,域名就接管到 Cloudflare 了。
在 Worker 的 Settings → Domains & Routes 里,添加 Custom Domain,填 你的域名。等证书签发(一般几分钟),HTTPS 链接就通了。
验证:
curl -I https://你的域名
看到 HTTP/2 200 就成了。
坑1:
wrangler login转圈 → 改用 API Token 环境变量 坑2:workers.dev国内解析到 198.18.0.56 → 域名被污染,必须换自有域名 坑3:eu.org 申请卡 pending → admin contact 必须填完整邮箱 坑4:Custom Domain 一直 pending → 检查 NS 是否已在 Cloudflare 生效 坑5:HTTPS 报证书错误 → 等 Cloudflare 边缘证书签发,或把 SSL 模式设为 Full
整条链路的价值在于:用 WorkBuddy 快速产出一个能用的工具,再用 Cloudflare + eu.org 把它变成一个人人可访问的公网产品,全程零成本。
关键认知只有一个:workers.dev 和 pages.dev 在国内不可靠,一定要绑自有域名。把这一点想通,后面的坑都是操作细节。
我用 WorkBuddy 做了一个「减肥工作台」——单文件 HTML,包含减肥计划、合理饮食、食物卡路里追踪三个模块。本地双击就能用,但我需要把它分享给别人、并且手机也能打开,也就是要有一个公网可访问的永久链接。
这一篇把从「本地 HTML」到「公网域名」的完整链路和踩过的坑一次讲清楚。全程零成本,只需要一个 Cloudflare 账号。
链路是这样的:
本地 HTML 工作台 → Cloudflare Pages/Workers 托管 → 绑定免费域名 eu.org → 国内可访问的 HTTPS 链接
为什么不用 GitHub Pages?因为 *.github.io 在国内访问经常不稳定。Cloudflare 的 *.pages.dev 在国内也时好时坏。所以最后我用 Cloudflare Workers 做托管 + eu.org 免费域名 做门面。
在 WorkBuddy 里让它帮你生成 Worker 版本的代码,然后本地执行:
npm install -g wrangler wrangler login wrangler deploy
wrangler deploy 成功后,会得到一个形如 qishen-wellness-desk.<你的子域>.workers.dev 的地址。
第一个坑:wrangler login 会弹浏览器授权。如果浏览器一直转圈,改用 API Token 方式——在 Cloudflare 控制台创建一个 Worker 模板的 Token,然后:
set CLOUDFLARE_API_TOKEN=你的token
把 Token 配成环境变量后再 wrangler deploy 就不需要登录了。
部署完兴冲冲分享给朋友,结果国内访问不了。
排查方法很简单,先看 DNS 解析:
nslookup 你的项目.workers.dev dig 你的项目.workers.dev @223.5.5.5
结果解析出来是 198.18.0.56 —— 这是一个保留地址(198.18.0.0/15 属于基准测试网段),出现它就说明 workers.dev 这个域名在国内被 DNS 污染了。
结论:不是你的部署有问题,是这个域名本身在国内不通。必须换一个干净的自有域名。
eu.org 提供永久免费的二级域名,申请方式:
打开 nic.eu.org 注册账号 → 提交域名申请(例如 qishen.eu.org) 填写 technical contact 和 admin contact 等待人工审核(通常几天到两周)
第二个坑,也是最大的坑:如果 admin contact 信息留空,申请会一直卡在 pending 不动。我第一次就因为联系信息没填全,状态挂了很久。务必把 admin contact 的邮箱填好,否则审核不推进。
审核通过后,去 Cloudflare 把域名加进去,Cloudflare 会给你两个 NS 服务器地址,回到 eu.org 后台把这俩 NS 填上,域名就接管到 Cloudflare 了。
在 Worker 的 Settings → Domains & Routes 里,添加 Custom Domain,填 你的域名。等证书签发(一般几分钟),HTTPS 链接就通了。
验证:
curl -I https://你的域名
看到 HTTP/2 200 就成了。
坑1:
wrangler login转圈 → 改用 API Token 环境变量 坑2:workers.dev国内解析到 198.18.0.56 → 域名被污染,必须换自有域名 坑3:eu.org 申请卡 pending → admin contact 必须填完整邮箱 坑4:Custom Domain 一直 pending → 检查 NS 是否已在 Cloudflare 生效 坑5:HTTPS 报证书错误 → 等 Cloudflare 边缘证书签发,或把 SSL 模式设为 Full
整条链路的价值在于:用 WorkBuddy 快速产出一个能用的工具,再用 Cloudflare + eu.org 把它变成一个人人可访问的公网产品,全程零成本。
关键认知只有一个:workers.dev 和 pages.dev 在国内不可靠,一定要绑自有域名。把这一点想通,后面的坑都是操作细节。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。