fix: 添加缺失的PASSWORD环境变量以修复500错误
- 在 wrangler.toml 中为生产和预览环境添加 PASSWORD 变量 - PASSWORD 是中间件验证的必需变量,缺失会导致500错误 - 更新部署指南,强调 PASSWORD 必须设置为 Plain text 类型 - 添加详细的环境变量类型设置说明和故障排除步骤 - PASSWORD 用于用户认证和签名验证,是系统核心安全机制
This commit is contained in:
@@ -16,16 +16,26 @@
|
||||
|
||||
### 🎯 解决步骤
|
||||
|
||||
#### 第一步:设置 USERNAME 环境变量
|
||||
#### 第一步:设置必需的环境变量
|
||||
|
||||
在 Cloudflare Pages 控制台中:
|
||||
|
||||
1. 进入您的项目设置
|
||||
2. 点击 "Settings" → "Environment variables"
|
||||
3. 添加新的环境变量:
|
||||
3. 添加以下**必需**环境变量:
|
||||
|
||||
**USERNAME 变量:**
|
||||
- **Variable name**: `USERNAME`
|
||||
- **Value**: `katelya` (您的站长用户名)
|
||||
- **Type**: Plain text
|
||||
- **Environment**: Production 和 Preview 都要添加
|
||||
|
||||
**PASSWORD 变量:** ⭐ **关键变量**
|
||||
- **Variable name**: `PASSWORD`
|
||||
- **Value**: `您设置的访问密码`
|
||||
- **Type**: Plain text (**重要:不要选择密码类型**)
|
||||
- **Environment**: Production 和 Preview 都要添加
|
||||
|
||||
4. 点击 "Save"
|
||||
5. 重新部署项目
|
||||
|
||||
@@ -34,17 +44,23 @@
|
||||
确保以下环境变量已正确设置:
|
||||
|
||||
```bash
|
||||
# 必需变量
|
||||
USERNAME=katelya
|
||||
NEXT_PUBLIC_STORAGE_TYPE=d1
|
||||
NEXT_PUBLIC_SITE_NAME=KatelyaTV
|
||||
NODE_ENV=production
|
||||
# ⭐ 关键必需变量(缺一不可)
|
||||
USERNAME=katelya # 站长用户名
|
||||
PASSWORD=your-secure-password # 访问密码
|
||||
NEXT_PUBLIC_STORAGE_TYPE=d1 # 存储类型
|
||||
NEXT_PUBLIC_SITE_NAME=KatelyaTV # 站点名称
|
||||
NODE_ENV=production # 运行环境
|
||||
|
||||
# 推荐设置
|
||||
NEXTAUTH_URL=https://your-domain.pages.dev
|
||||
IMAGE_PROXY_ENABLED=true
|
||||
```
|
||||
|
||||
**⚠️ 重要提醒:**
|
||||
|
||||
- `PASSWORD` 必须设置为 "Plain text" 类型,不要选择 "Secret" 或 "Password" 类型
|
||||
- `PASSWORD` 的值应该与您之前在本地或其他环境中使用的密码一致
|
||||
|
||||
#### 第三步:检查 D1 数据库绑定
|
||||
|
||||
1. 确保在 Cloudflare Pages 中绑定了 D1 数据库
|
||||
@@ -185,12 +201,19 @@ export const runtime = 'edge';
|
||||
|
||||
```bash
|
||||
# 在 Cloudflare Pages 控制台检查这些变量
|
||||
USERNAME=katelya # ❌ 最常缺失
|
||||
USERNAME=katelya # ❌ 经常缺失
|
||||
PASSWORD=your-password # ❌ 最关键,经常缺失或类型错误
|
||||
NEXT_PUBLIC_STORAGE_TYPE=d1 # ✅ 通常已设置
|
||||
NEXT_PUBLIC_SITE_NAME=KatelyaTV # ✅ 通常已设置
|
||||
NODE_ENV=production # ✅ 通常已设置
|
||||
```
|
||||
|
||||
**特别注意 PASSWORD 变量:**
|
||||
|
||||
- ✅ 正确:类型选择 "Plain text"
|
||||
- ❌ 错误:类型选择 "Secret" 或 "Password"
|
||||
- ❌ 错误:值为空或包含特殊字符
|
||||
|
||||
#### 2. D1 数据库检查
|
||||
|
||||
- [ ] D1 数据库是否已创建
|
||||
@@ -202,9 +225,11 @@ NODE_ENV=production # ✅ 通常已设置
|
||||
|
||||
| 错误现象 | 原因 | 解决方案 |
|
||||
|---------|------|----------|
|
||||
| 500 错误 | PASSWORD 未设置或类型错误 | 设置 PASSWORD 为 Plain text 类型 |
|
||||
| 500 + 管理页面无法访问 | USERNAME 未设置 | 添加 USERNAME 环境变量 |
|
||||
| 重定向到 /warning 页面 | PASSWORD 环境变量缺失 | 检查 PASSWORD 变量设置 |
|
||||
| 500 + 数据库相关错误 | D1 绑定问题 | 检查数据库绑定配置 |
|
||||
| 构建成功但运行失败 | 环境变量缺失 | 检查所有必需变量 |
|
||||
| 构建成功但运行失败 | 关键环境变量缺失 | 检查 USERNAME 和 PASSWORD |
|
||||
|
||||
### 验证部署成功
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ NEXT_PUBLIC_SITE_NAME = "KatelyaTV"
|
||||
NEXT_PUBLIC_SITE_DESCRIPTION = "高性能影视播放平台"
|
||||
NEXTAUTH_URL = "https://your-domain.pages.dev"
|
||||
USERNAME = "katelya"
|
||||
PASSWORD = "your-secure-password-here"
|
||||
IMAGE_PROXY_ENABLED = "true"
|
||||
CACHE_TTL = "3600"
|
||||
CORS_ORIGIN = "*"
|
||||
@@ -47,5 +48,6 @@ NEXT_PUBLIC_STORAGE_TYPE = "d1"
|
||||
NEXT_PUBLIC_SITE_NAME = "KatelyaTV"
|
||||
NEXT_PUBLIC_SITE_DESCRIPTION = "高性能影视播放平台"
|
||||
USERNAME = "katelya"
|
||||
PASSWORD = "your-secure-password-here"
|
||||
IMAGE_PROXY_ENABLED = "true"
|
||||
NODE_ENV = "production"
|
||||
|
||||
Reference in New Issue
Block a user