Cloudflare Pages 部署遇到两个主要问题:
- 绑定名称冲突:
Error: Failed to publish your Function. Got error: Binding name 'PASSWORD' already in use.
- wrangler.toml 文件损坏:
ParseError: Unterminated string
lineText: 'name = "katelyat[env.preview.vars]'
✅ 第一步:将环境变量名从 PASSWORD 更改为 AUTH_PASSWORD 以避免Cloudflare的保留绑定名称冲突。
✅ 第二步:修复损坏的 wrangler.toml 文件,文件结构被损坏导致语法错误。
✅ 已完成 - PASSWORD 已更改为 AUTH_PASSWORD
✅ 已完成 - 所有 process.env.PASSWORD 已更改为 process.env.AUTH_PASSWORD
由于您提到无法在控制台中直接修改环境变量(因为通过 wrangler.toml 管理),我们需要:
- 重新部署项目 - 新的 wrangler.toml 配置会自动设置
AUTH_PASSWORD变量 - 验证环境变量 - 确保
AUTH_PASSWORD正确设置
现在执行以下命令重新部署:
git add -A
git commit -m "fix: 修复绑定名称冲突 - 将PASSWORD改为AUTH_PASSWORD"
git push origin mainwrangler.toml- 更新环境变量名称src/middleware.ts- 更新认证逻辑src/app/api/login/route.ts- 更新登录验证src/app/api/register/route.ts- 更新注册逻辑
PASSWORD→AUTH_PASSWORD- 功能保持完全一致,只是变量名称改变
部署成功后:
- 不再出现绑定名称冲突错误
AUTH_PASSWORD环境变量将自动通过 wrangler.toml 设置- 网站应该正常运行,认证功能正常
部署完成后:
- 访问您的 Cloudflare Pages 网站
- 尝试登录(用户名: katelya,密码: your-secure-password-here)
- 如果能正常登录,说明修复成功
如果仍有问题,请检查 Cloudflare Pages 的部署日志。