跳转到内容

05. 绑定域名和环境变量

这一章做的是”把能访问,变成好访问”。

如果你不绑定域名,系统可能也能跑。

但是:

  • URL 会很难看
  • 前端 fallback URL 不好配置
  • 以后排错会很痛苦

所以建议你一次把规范定好。

下面是最容易理解的一套方案。

你可以直接照抄:

  • 主站:example.comweb.example.com -> web
  • 后台:admin.example.com -> admin
  • n1.example.com -> zship-node1-auth
  • n2.example.com -> zship-node2-support
  • n3.example.com -> zship-node3-pay
  • n4.example.com -> zship-node4-notify
  • n5.example.com -> zship-node5-blog
  • n6.example.com -> zship-node6-cdn
  • n7.example.com -> zship-node7-site
  • n8.example.com -> zship-node8-prompt
  • n9.example.com -> zship-node9-checkin
  • n10.example.com -> zship-node10-ai

web 为例:

  1. 打开 Cloudflare Dashboard
  2. 进入 Workers & Pages
  3. 打开 web
  4. 进入 Custom domains
  5. 点击 Set up a custom domain
  6. 输入你的域名,比如 example.com

然后对下面一个项目重复:

  • admin -> admin.example.com

每个 Worker 也建议绑定自己的固定域名。

步骤基本一样:

  1. 进入对应 Worker
  2. 找到 Settings
  3. 进入 Domains & Routes
  4. 添加 Custom Domain

建议至少给下面几个 Worker 先绑上域名:

  • zship-node1-auth
  • zship-node3-pay
  • zship-node5-blog
  • zship-node7-site
  • zship-node10-ai

因为前端最常用到它们。

如果你希望后面排错简单,10 个都绑上最好。

4. 把前端环境变量改成真实线上地址

Section titled “4. 把前端环境变量改成真实线上地址”

进入:

  • Workers & Pages
  • web
  • Settings
  • Variables and Secrets

建议填成这样:

APP_KEY=demo
SITE_URL=https://web.example.com
AUTH_SERVICE_URL=https://n1.example.com
PAY_SERVICE_URL=https://n3.example.com
BLOG_API_URL=https://n5.example.com
SITE_SERVICE_URL=https://n7.example.com
CHECKIN_SERVICE_URL=https://n9.example.com
AI_SERVICE_URL=https://n10.example.com
SUPPORT_SERVICE_URL=https://n2.example.com

第一版一般不强制需要。

但如果你后来发现某些页面没有走 binding,而是回落到公网 URL,再回来补。

5. 改完环境变量后,重新部署前端

Section titled “5. 改完环境变量后,重新部署前端”

环境变量改完以后,请重新部署:

Terminal window
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 ../../

不要以为改了变量就自动生效。

很多情况下你还是要重新触发一遍部署。

到这里你应该至少能打开这 3 个地址:

  • 主站地址
  • 后台地址
  • 至少一个后端服务地址,比如 https://n1.example.com/health

如果页面能打开,但功能不通,先别急。

下一章会带你做首次初始化。