fix: 修复绑定名称冲突 - 将PASSWORD改为AUTH_PASSWORD避免Cloudflare保留名称

This commit is contained in:
katelya
2025-10-01 23:47:37 +08:00
parent fb5be70529
commit 4c052df342
5 changed files with 93 additions and 13 deletions
+65
View File
@@ -0,0 +1,65 @@
# Cloudflare Pages 部署修复指南
## 问题描述
在Cloudflare Pages部署时遇到绑定名称冲突:
```
Error: Failed to publish your Function. Got error: Binding name 'PASSWORD' already in use.
```
## 解决方案
我们已经将环境变量名从 `PASSWORD` 更改为 `AUTH_PASSWORD` 以避免Cloudflare的保留绑定名称冲突。
## 需要的操作
### 1. 更新 wrangler.toml 配置
✅ 已完成 - `PASSWORD` 已更改为 `AUTH_PASSWORD`
### 2. 更新代码中的引用
✅ 已完成 - 所有 `process.env.PASSWORD` 已更改为 `process.env.AUTH_PASSWORD`
### 3. 在 Cloudflare Pages 控制台中设置环境变量
由于您提到无法在控制台中直接修改环境变量(因为通过 wrangler.toml 管理),我们需要:
1. **重新部署项目** - 新的 wrangler.toml 配置会自动设置 `AUTH_PASSWORD` 变量
2. **验证环境变量** - 确保 `AUTH_PASSWORD` 正确设置
### 4. 立即执行步骤
现在执行以下命令重新部署:
```powershell
git add -A
git commit -m "fix: 修复绑定名称冲突 - 将PASSWORD改为AUTH_PASSWORD"
git push origin main
```
## 更新说明
### 变更的文件:
- `wrangler.toml` - 更新环境变量名称
- `src/middleware.ts` - 更新认证逻辑
- `src/app/api/login/route.ts` - 更新登录验证
- `src/app/api/register/route.ts` - 更新注册逻辑
### 环境变量变更:
- `PASSWORD``AUTH_PASSWORD`
- 功能保持完全一致,只是变量名称改变
## 预期结果
部署成功后:
1. 不再出现绑定名称冲突错误
2. `AUTH_PASSWORD` 环境变量将自动通过 wrangler.toml 设置
3. 网站应该正常运行,认证功能正常
## 验证步骤
部署完成后:
1. 访问您的 Cloudflare Pages 网站
2. 尝试登录(用户名: katelya,密码: your-secure-password-here
3. 如果能正常登录,说明修复成功
如果仍有问题,请检查 Cloudflare Pages 的部署日志。