173 lines
5.5 KiB
Plaintext
173 lines
5.5 KiB
Plaintext
# ============================================
|
||
# 玩玩云 - 环境配置文件示例
|
||
# ============================================
|
||
#
|
||
# 使用说明:
|
||
# 1. 复制此文件为 .env
|
||
# 2. 根据实际情况修改配置值
|
||
# 3. ⚠️ 生产环境必须修改默认密码和密钥
|
||
#
|
||
|
||
# ============================================
|
||
# 服务器配置
|
||
# ============================================
|
||
|
||
# 服务端口
|
||
PORT=40001
|
||
|
||
# 运行环境(production 或 development)
|
||
NODE_ENV=production
|
||
|
||
# 强制HTTPS访问(生产环境建议开启)
|
||
# 设置为 true 时,仅接受 HTTPS 访问
|
||
ENFORCE_HTTPS=true
|
||
|
||
# 公开访问地址(生产环境必须配置,用于邮件、分享、直链等外部链接)
|
||
# 示例: PUBLIC_BASE_URL=https://cs.workyai.cn
|
||
PUBLIC_BASE_URL=https://your-domain.example
|
||
|
||
# Host 白名单(可选;未配置 PUBLIC_BASE_URL 时生产环境必须配置)
|
||
# 示例: ALLOWED_HOSTS=cs.workyai.cn
|
||
ALLOWED_HOSTS=your-domain.example
|
||
|
||
# 公开访问端口(nginx监听的端口,用于生成分享链接)
|
||
# 标准端口(80/443)可不配置
|
||
PUBLIC_PORT=80
|
||
|
||
# ============================================
|
||
# 安全配置
|
||
# ============================================
|
||
|
||
# 加密密钥(必须配置!)
|
||
# 用于加密 OSS Access Key Secret 等敏感数据
|
||
# 生成方法: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||
ENCRYPTION_KEY=REPLACE_WITH_64_HEX_CHARACTERS_GENERATED_BY_COMMAND
|
||
|
||
# JWT密钥(必须修改!)
|
||
# 生成方法: openssl rand -base64 32
|
||
# 或使用: node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||
JWT_SECRET=REPLACE_WITH_RANDOM_SECRET_AT_LEAST_32_CHARS
|
||
|
||
# Refresh Token 密钥(可选,默认使用 JWT_SECRET 派生)
|
||
# 建议生产环境设置独立的密钥
|
||
# REFRESH_SECRET=REPLACE_WITH_SEPARATE_RANDOM_REFRESH_SECRET
|
||
|
||
# 管理员账号配置(首次启动时创建)
|
||
ADMIN_USERNAME=admin
|
||
ADMIN_PASSWORD=REPLACE_WITH_STRONG_ADMIN_PASSWORD
|
||
|
||
# ============================================
|
||
# 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=https://your-domain.example
|
||
|
||
# Cookie 安全配置
|
||
# 使用 HTTPS 时必须设置为 true
|
||
# HTTP 环境设置为 false
|
||
COOKIE_SECURE=true
|
||
|
||
# CSRF 防护配置
|
||
# 启用 CSRF 保护(建议生产环境开启)
|
||
# 前端会自动从 Cookie 读取 csrf_token 并在请求头中发送
|
||
ENABLE_CSRF=true
|
||
|
||
# ============================================
|
||
# 反向代理配置(Nginx/Cloudflare等)
|
||
# ============================================
|
||
|
||
# 信任代理配置
|
||
#
|
||
# 配置选项:
|
||
# - false: 不信任代理(默认,直接暴露到公网时使用)
|
||
# - 1: 信任第1跳代理(推荐,单层Nginx反向代理时使用)
|
||
# - 2: 信任前2跳代理(Cloudflare + Nginx)
|
||
# - loopback: 仅信任本地回环地址
|
||
# - true: 信任所有代理(不推荐,易被伪造IP)
|
||
#
|
||
# ⚠️ 重要: 如果使用 Nginx 反向代理并开启 ENFORCE_HTTPS=true
|
||
# 必须配置 TRUST_PROXY=1,否则后端无法正确识别HTTPS请求
|
||
#
|
||
TRUST_PROXY=1
|
||
|
||
# ============================================
|
||
# 存储配置
|
||
# ============================================
|
||
|
||
# 数据库路径
|
||
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(可选)
|
||
|
||
# ============================================
|
||
# 验证码票据配置
|
||
# ============================================
|
||
|
||
# 验证码票据签名密钥(可选;默认复用 JWT_SECRET)
|
||
# CAPTCHA_SECRET=replace-with-random-32-byte-hex
|
||
|
||
# ============================================
|
||
# 开发调试配置
|
||
# ============================================
|
||
|
||
# 日志级别 (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'))"
|