上线验证清单
| # | 检查项 | 预期 |
|---|---|---|
| 1 | 首页 | 200,样式与 i18n 正常 |
| 2 | Google 登录 | OAuth 回调成功 |
| 3 | 魔法链接 | Resend 发信成功,见 Resend 集成 |
| 4 | Stripe Checkout | 测试卡 4242... 支付成功 |
| 5 | Stripe Webhook | Dashboard 显示 2xx |
| 6 | R2 上传 | 管理端可上传并访问 |
| 7 | 短链 | go. 域名正确跳转 |
| 8 | PostHog / GA4 | Live / Realtime 有事件 |
| 9 | Queues | 邮件活动任务正常消费 |
可选自动化:
pnpm posthog:verify:remote
常见问题
本地正常,生产 500
- 检查
pnpm wrangler secret list是否缺密钥 - Cloudflare Dashboard → Workers → Logs 查看堆栈
Google redirect_uri_mismatch
GOOGLE_REDIRECT_URI 必须与 Google Console 中配置的 URI 完全一致(含协议、路径)。
Stripe Webhook 签名失败
STRIPE_WEBHOOK_SECRET 须来自与 endpoint 同一环境(test/live)的 Signing secret。
R2 credentials not configured
生产需设置 R2_ACCESS_KEY_ID 与 R2_SECRET_ACCESS_KEY secret;Worker binding 不等于 S3 API Token。
分析脚本生产不生效
VITE_* 为构建时注入 → 修改后重新 pnpm run deploy。
GA4 管理端无属性
执行 pnpm ga4:grant <PROPERTY_ID>,详见 docs/ga4-admin-spec.md。
安全须知
- 勿提交
.dev.vars与第三方密钥到 Git BETTER_AUTH_SECRET泄露后立即轮换- R2 API Token 遵循最小权限,仅授权目标 bucket