5月30日 20:53
Vercel 环境变量怎么配置才安全?
Vercel 环境变量管理的核心,是把 Production、Preview、Development 三类环境隔离开。生产变量只给线上部署用,预览变量给分支和 PR,用来接测试库和沙箱服务,本地变量通过 vercel env pull 拉到 .env.local。真正容易出事故的不是不会添加变量,而是变量放错环境、前端误暴露密钥、改完变量后忘记重新部署。
追问
Production、Preview、Development 怎么取舍?
Production 放真实数据库、正式支付密钥和线上 API。Preview 应该接测试库、沙箱支付和临时回调地址,避免 PR 预览页误操作生产数据。
为什么变量改了页面还是旧配置?
构建期读取的变量已经写进产物,改 Dashboard 不会改变旧部署。关键变量改完后要重新部署,或者确认代码是在运行时读取变量。
前端变量为什么容易泄露?
Next.js 中带 NEXT_PUBLIC_ 前缀的变量会打进浏览器端代码。数据库密码、私有 Token、Webhook Secret 绝不能加这个前缀。
vercel.json 适合管什么?
适合放构建命令、输出目录、重定向、headers、函数资源限制,不适合直接写敏感值。配置越多,迁移和排错成本越高。
本地和线上变量不一致怎么排查?
先执行 vercel env pull .env.local,再确认变量名大小写、环境选择、部署时间和本地服务是否重启。
写段命令
bashvercel env add MY_API_KEY production vercel env add MY_API_KEY preview vercel env pull .env.local