75 lines
2.1 KiB
Markdown
75 lines
2.1 KiB
Markdown
# Cloudflare Pages 部署修复指南
|
||
|
||
## 问题描述
|
||
|
||
Cloudflare Pages 部署遇到两个主要问题:
|
||
|
||
1. **绑定名称冲突**:
|
||
```
|
||
Error: Failed to publish your Function. Got error: Binding name 'PASSWORD' already in use.
|
||
```
|
||
|
||
2. **wrangler.toml 文件损坏**:
|
||
```
|
||
ParseError: Unterminated string
|
||
lineText: 'name = "katelyat[env.preview.vars]'
|
||
```
|
||
|
||
## 解决方案
|
||
|
||
✅ **第一步**:将环境变量名从 `PASSWORD` 更改为 `AUTH_PASSWORD` 以避免Cloudflare的保留绑定名称冲突。
|
||
|
||
✅ **第二步**:修复损坏的 `wrangler.toml` 文件,文件结构被损坏导致语法错误。
|
||
|
||
## 需要的操作
|
||
|
||
### 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 的部署日志。 |