05. 绑定域名和环境变量
这一章做的是”把能访问,变成好访问”。
如果你不绑定域名,系统可能也能跑。
但是:
- URL 会很难看
- 前端 fallback URL 不好配置
- 以后排错会很痛苦
所以建议你一次把规范定好。
1. 推荐的域名规划
Section titled “1. 推荐的域名规划”下面是最容易理解的一套方案。
你可以直接照抄:
- 主站:
example.com或web.example.com->web - 后台:
admin.example.com->admin
n1.example.com->zship-node1-authn2.example.com->zship-node2-supportn3.example.com->zship-node3-payn4.example.com->zship-node4-notifyn5.example.com->zship-node5-blogn6.example.com->zship-node6-cdnn7.example.com->zship-node7-siten8.example.com->zship-node8-promptn9.example.com->zship-node9-checkinn10.example.com->zship-node10-ai
2. 给 Pages 绑定自定义域名
Section titled “2. 给 Pages 绑定自定义域名”以 web 为例:
- 打开 Cloudflare Dashboard
- 进入
Workers & Pages - 打开
web - 进入
Custom domains - 点击
Set up a custom domain - 输入你的域名,比如
example.com
然后对下面一个项目重复:
admin->admin.example.com
3. 给 Worker 绑定自定义域名
Section titled “3. 给 Worker 绑定自定义域名”每个 Worker 也建议绑定自己的固定域名。
步骤基本一样:
- 进入对应 Worker
- 找到
Settings - 进入
Domains & Routes - 添加 Custom Domain
建议至少给下面几个 Worker 先绑上域名:
zship-node1-authzship-node3-payzship-node5-blogzship-node7-sitezship-node10-ai
因为前端最常用到它们。
如果你希望后面排错简单,10 个都绑上最好。
4. 把前端环境变量改成真实线上地址
Section titled “4. 把前端环境变量改成真实线上地址”web 项目建议填写
Section titled “web 项目建议填写”进入:
Workers & PageswebSettingsVariables and Secrets
建议填成这样:
APP_KEY=demoSITE_URL=https://web.example.comAUTH_SERVICE_URL=https://n1.example.comPAY_SERVICE_URL=https://n3.example.comBLOG_API_URL=https://n5.example.comSITE_SERVICE_URL=https://n7.example.comCHECKIN_SERVICE_URL=https://n9.example.comAI_SERVICE_URL=https://n10.example.comSUPPORT_SERVICE_URL=https://n2.example.comadmin 项目
Section titled “admin 项目”第一版一般不强制需要。
但如果你后来发现某些页面没有走 binding,而是回落到公网 URL,再回来补。
5. 改完环境变量后,重新部署前端
Section titled “5. 改完环境变量后,重新部署前端”环境变量改完以后,请重新部署:
cd apps/web && pnpm build && npx wrangler pages deploy --project-name=web --branch=main && cd ../../cd apps/admin && pnpm build && npx wrangler pages deploy --project-name=admin --branch=main && cd ../../不要以为改了变量就自动生效。
很多情况下你还是要重新触发一遍部署。
6. 最简单的 sanity check
Section titled “6. 最简单的 sanity check”到这里你应该至少能打开这 3 个地址:
- 主站地址
- 后台地址
- 至少一个后端服务地址,比如
https://n1.example.com/health
如果页面能打开,但功能不通,先别急。
下一章会带你做首次初始化。