存放位置
| 类型 | 本地开发 | 生产环境 |
|---|---|---|
| 服务端密钥 | .dev.vars | pnpm wrangler secret put NAME |
| 公开 / 构建变量 | .dev.vars 或 shell | wrangler.jsonc → vars |
| Cloudflare 绑定 | 本地模拟 | wrangler.jsonc bindings |
重要
VITE_*变量在vite build时注入客户端。修改后必须重新pnpm run deploy,仅改 secret 不会更新前端分析脚本。
核心变量
| 变量 | 敏感 | 必填 | 本地 | 生产 | 说明 |
|---|---|---|---|---|---|
BETTER_AUTH_SECRET | ✓ | ✓ | .dev.vars | secret | JWT 签名,openssl rand -base64 32 |
BETTER_AUTH_URL | ✓ | .dev.vars | secret | 站点根 URL,OAuth 回调 | |
SERVER_URL | ✓ | .dev.vars | secret | 服务端绝对链接 | |
VITE_SITE_URL | ✓ | .dev.vars | vars | SEO、canonical |
认证
| 变量 | 敏感 | 必填 | 说明 |
|---|---|---|---|
GOOGLE_CLIENT_ID | ✓ | Google OAuth Web 客户端 ID | |
GOOGLE_CLIENT_SECRET | ✓ | ✓ | OAuth 客户端密钥 |
GOOGLE_REDIRECT_URI | ✓ | 须与 Google Console 完全一致 |
重定向 URI 示例:
- 本地:
http://localhost:3000/api/auth/callback/google - 生产:
https://your-domain.com/api/auth/callback/google
邮件(Resend)
| 变量 | 敏感 | 必填 | 说明 |
|---|---|---|---|
RESEND_API_KEY | ✓ | ✓* | re_...,见 Resend 集成 |
EMAIL_FROM | ✓* | 已验证发信地址 |
* 启用魔法链接或邮件营销时必填。
支付(Stripe)
| 变量 | 敏感 | 必填 | 说明 |
|---|---|---|---|
STRIPE_SECRET_KEY | ✓ | ✓* | sk_test_... / sk_live_... |
STRIPE_WEBHOOK_SECRET | ✓ | ✓* | Webhook whsec_... |
Webhook URL:https://your-domain.com/api/stripe/webhook
存储(R2)
| 变量 | 敏感 | 必填 | 说明 |
|---|---|---|---|
R2_ACCOUNT_ID | ✓ | Cloudflare 账户 ID | |
R2_ACCESS_KEY_ID | ✓ | ✓ | R2 API Token |
R2_SECRET_ACCESS_KEY | ✓ | ✓ | R2 API Token |
R2_BUCKET_NAME | ✓ | 存储桶名 | |
R2_PUBLIC_URL | ✓ | 公开访问域名 |
分析(可选)
| 变量 | 用途 |
|---|---|
VITE_POSTHOG_TOKEN | 客户端采集 phc_... |
POSTHOG_PERSONAL_API_KEY | 管理端查询 phx_... |
POSTHOG_PROJECT_ID | 项目 ID |
VITE_GA_MEASUREMENT_ID | GA4 衡量 ID G-... |
GA4_SERVICE_ACCOUNT_* | GA4 Data API,见仓库 docs/ga4-admin-spec.md |
VITE_CLARITY_PROJECT_ID | Microsoft Clarity |
SENTRY_DSN | 错误监控 |
查看已配置 Secret
pnpm wrangler secret list
完整模板见仓库根目录 .env.example。