feat: 实现Vue驱动的云存储系统初始功能
- 后端: Node.js + Express + SQLite架构 - 前端: Vue 3 + Axios实现 - 功能: 用户认证、文件上传/下载、分享链接、密码重置 - 安全: 密码加密、分享链接过期机制、缓存一致性 - 部署: Docker + Nginx容器化配置 - 测试: 完整的边界测试、并发测试和状态一致性测试
This commit is contained in:
168
backend/.env.example
Normal file
168
backend/.env.example
Normal file
@@ -0,0 +1,168 @@
|
||||
# ============================================
|
||||
# 玩玩云 - 环境配置文件示例
|
||||
# ============================================
|
||||
#
|
||||
# 使用说明:
|
||||
# 1. 复制此文件为 .env
|
||||
# 2. 根据实际情况修改配置值
|
||||
# 3. ⚠️ 生产环境必须修改默认密码和密钥
|
||||
#
|
||||
|
||||
# ============================================
|
||||
# 服务器配置
|
||||
# ============================================
|
||||
|
||||
# 服务端口
|
||||
PORT=40001
|
||||
|
||||
# 运行环境(production 或 development)
|
||||
NODE_ENV=production
|
||||
|
||||
# 强制HTTPS访问(生产环境建议开启)
|
||||
# 设置为 true 时,仅接受 HTTPS 访问
|
||||
ENFORCE_HTTPS=false
|
||||
|
||||
# 公开访问端口(nginx监听的端口,用于生成分享链接)
|
||||
# 标准端口(80/443)可不配置
|
||||
PUBLIC_PORT=80
|
||||
|
||||
# ============================================
|
||||
# 安全配置
|
||||
# ============================================
|
||||
|
||||
# 加密密钥(必须配置!)
|
||||
# 用于加密 OSS Access Key Secret 等敏感数据
|
||||
# 生成方法: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
ENCRYPTION_KEY=your-encryption-key-please-change-this
|
||||
|
||||
# JWT密钥(必须修改!)
|
||||
# 生成方法: openssl rand -base64 32
|
||||
# 或使用: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
JWT_SECRET=your-secret-key-PLEASE-CHANGE-THIS-IN-PRODUCTION
|
||||
|
||||
# Refresh Token 密钥(可选,默认使用 JWT_SECRET 派生)
|
||||
# 建议生产环境设置独立的密钥
|
||||
# REFRESH_SECRET=your-refresh-secret-key
|
||||
|
||||
# 管理员账号配置(首次启动时创建)
|
||||
ADMIN_USERNAME=admin
|
||||
ADMIN_PASSWORD=admin123
|
||||
|
||||
# ============================================
|
||||
# CORS 跨域配置(重要!)
|
||||
# ============================================
|
||||
|
||||
# 允许访问的前端域名
|
||||
#
|
||||
# 格式说明:
|
||||
# - 单个域名: https://yourdomain.com
|
||||
# - 多个域名: https://domain1.com,https://domain2.com
|
||||
# - 开发环境: 留空或设置为 * (不安全,仅开发使用)
|
||||
#
|
||||
# ⚠️ 生产环境安全要求:
|
||||
# 1. 必须配置具体的域名,不要使用 *
|
||||
# 2. 必须包含协议 (http:// 或 https://)
|
||||
# 3. 如果使用非标准端口,需要包含端口号
|
||||
#
|
||||
# 示例:
|
||||
# ALLOWED_ORIGINS=https://pan.example.com
|
||||
# ALLOWED_ORIGINS=https://pan.example.com,https://admin.example.com
|
||||
# ALLOWED_ORIGINS=http://localhost:8080 # 开发环境
|
||||
#
|
||||
ALLOWED_ORIGINS=
|
||||
|
||||
# Cookie 安全配置
|
||||
# 使用 HTTPS 时必须设置为 true
|
||||
# HTTP 环境设置为 false
|
||||
COOKIE_SECURE=false
|
||||
|
||||
# CSRF 防护配置
|
||||
# 启用 CSRF 保护(建议生产环境开启)
|
||||
# 前端会自动从 Cookie 读取 csrf_token 并在请求头中发送
|
||||
ENABLE_CSRF=false
|
||||
|
||||
# ============================================
|
||||
# 反向代理配置(Nginx/Cloudflare等)
|
||||
# ============================================
|
||||
|
||||
# 信任代理配置
|
||||
#
|
||||
# 配置选项:
|
||||
# - false: 不信任代理(默认,直接暴露到公网时使用)
|
||||
# - 1: 信任第1跳代理(推荐,单层Nginx反向代理时使用)
|
||||
# - 2: 信任前2跳代理(Cloudflare + Nginx)
|
||||
# - loopback: 仅信任本地回环地址
|
||||
# - true: 信任所有代理(不推荐,易被伪造IP)
|
||||
#
|
||||
# ⚠️ 重要: 如果使用 Nginx 反向代理并开启 ENFORCE_HTTPS=true
|
||||
# 必须配置 TRUST_PROXY=1,否则后端无法正确识别HTTPS请求
|
||||
#
|
||||
TRUST_PROXY=false
|
||||
|
||||
# ============================================
|
||||
# 存储配置
|
||||
# ============================================
|
||||
|
||||
# 数据库路径
|
||||
DATABASE_PATH=./data/database.db
|
||||
|
||||
# 本地存储根目录(本地存储模式使用)
|
||||
STORAGE_ROOT=./storage
|
||||
|
||||
# ============================================
|
||||
# OSS 云存储配置(可选)
|
||||
# ============================================
|
||||
#
|
||||
# 说明: 用户可以在 Web 界面配置自己的 OSS 存储
|
||||
# 支持:阿里云 OSS、腾讯云 COS、AWS S3
|
||||
# 此处配置仅作为全局默认值(通常不需要配置)
|
||||
#
|
||||
|
||||
# OSS_PROVIDER=aliyun # 服务商: aliyun/tencent/aws
|
||||
# OSS_REGION=oss-cn-hangzhou # 地域
|
||||
# OSS_ACCESS_KEY_ID=your-key # Access Key ID
|
||||
# OSS_ACCESS_KEY_SECRET=secret # Access Key Secret
|
||||
# OSS_BUCKET=your-bucket # 存储桶名称
|
||||
# OSS_ENDPOINT= # 自定义 Endpoint(可选)
|
||||
|
||||
# ============================================
|
||||
# Session 配置
|
||||
# ============================================
|
||||
|
||||
# Session 密钥(用于验证码等功能)
|
||||
# 默认使用随机生成的密钥
|
||||
# SESSION_SECRET=your-session-secret
|
||||
|
||||
# Session 过期时间(毫秒),默认 30 分钟
|
||||
# SESSION_MAX_AGE=1800000
|
||||
|
||||
# ============================================
|
||||
# 开发调试配置
|
||||
# ============================================
|
||||
|
||||
# 日志级别 (error, warn, info, debug)
|
||||
# LOG_LEVEL=info
|
||||
|
||||
# 是否启用调试模式
|
||||
# DEBUG=false
|
||||
|
||||
# ============================================
|
||||
# 注意事项
|
||||
# ============================================
|
||||
#
|
||||
# 1. 生产环境必须修改以下配置:
|
||||
# - ENCRYPTION_KEY: 用于加密敏感数据(64位十六进制)
|
||||
# - JWT_SECRET: 使用强随机密钥(64位十六进制)
|
||||
# - ADMIN_PASSWORD: 修改默认密码
|
||||
# - ALLOWED_ORIGINS: 配置具体域名
|
||||
#
|
||||
# 2. 使用 HTTPS 时:
|
||||
# - ENFORCE_HTTPS=true
|
||||
# - COOKIE_SECURE=true
|
||||
# - TRUST_PROXY=1 (如使用反向代理)
|
||||
#
|
||||
# 3. 配置优先级:
|
||||
# 环境变量 > .env 文件 > 默认值
|
||||
#
|
||||
# 4. 密钥生成命令:
|
||||
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
Reference in New Issue
Block a user