chore: 更新 .env.example 文件,简化配置项并添加 CORS 相关设置
- 移除不再使用的配置项,建议通过后台管理进行设置。 - 新增 CORS_ALLOWED_ORIGINS、CORS_SUPPORTS_CREDENTIALS 和 CORS_MAX_AGE 选项,以支持跨域请求的灵活性与安全性。
This commit is contained in:
214
.env.example
214
.env.example
@@ -1,252 +1,62 @@
|
||||
# =============================================================================
|
||||
# 应用核心(config/app.php)
|
||||
# =============================================================================
|
||||
# cp .env.example .env && composer install && php artisan key:generate && php artisan migrate
|
||||
# 生产常驻:queue:work、schedule:work、reverb:start(见 README)
|
||||
|
||||
# 应用显示名(邮件发件人名、日志等会引用)
|
||||
APP_NAME=Lottery
|
||||
# 运行环境:local / staging / production(影响缓存、调试与安全策略)
|
||||
APP_ENV=local
|
||||
# 应用密钥;留空时执行 php artisan key:generate 生成(勿提交真实值到 Git)
|
||||
APP_KEY=
|
||||
# 是否输出详细错误页与堆栈(生产环境务必为 false)
|
||||
APP_DEBUG=true
|
||||
# 应用根 URL(生成链接、邮件、部分驱动依赖;与 php artisan serve 端口一致时带上 :8000)
|
||||
APP_URL=http://localhost:8000
|
||||
# 开发服务监听地址:本机开发可保持 127.0.0.1;需要局域网访问时改为 0.0.0.0
|
||||
APP_BIND_HOST=127.0.0.1
|
||||
# Vite 监听地址:本机开发可保持 127.0.0.1;需要局域网访问时改为 0.0.0.0
|
||||
VITE_HOST=0.0.0.0
|
||||
|
||||
# =============================================================================
|
||||
# 语言与假数据(config/app.php)
|
||||
# =============================================================================
|
||||
|
||||
# PHP 应用默认语言代码
|
||||
APP_LOCALE=en
|
||||
# 翻译缺失时的回退语言
|
||||
APP_FALLBACK_LOCALE=en
|
||||
# Faker 造数用的区域(如 zh_CN、en_US)
|
||||
APP_FAKER_LOCALE=en_US
|
||||
|
||||
# =============================================================================
|
||||
# 维护模式(config/app.php)
|
||||
# =============================================================================
|
||||
|
||||
# 维护模式驱动:file(写 storage/framework/down)或可使用其他存储
|
||||
APP_MAINTENANCE_DRIVER=file
|
||||
# 使用 database 驱动维护状态时的存储配置(与 file 二选一场景下再取消注释)
|
||||
# APP_MAINTENANCE_STORE=database
|
||||
|
||||
# 内置 PHP 开发服务器 worker 数量(多核本机可酌情打开)
|
||||
# PHP_CLI_SERVER_WORKERS=4
|
||||
|
||||
# =============================================================================
|
||||
# CORS(跨域;config/cors.php)
|
||||
# =============================================================================
|
||||
|
||||
# 浏览器跨域访问 API 的来源白名单,逗号分隔(协议+域名+可选端口)
|
||||
# 示例:
|
||||
# CORS_ALLOWED_ORIGINS=https://admin.example.com,https://partner-a.com
|
||||
CORS_ALLOWED_ORIGINS=
|
||||
# 可选:来源正则模式(需要受控通配时再用)
|
||||
# CORS_ALLOWED_ORIGINS_PATTERNS=^https://([a-z0-9-]+)\.partner\.example\.com$
|
||||
CORS_ALLOWED_ORIGINS_PATTERNS=
|
||||
# 预检缓存秒数;0 表示不缓存
|
||||
CORS_MAX_AGE=0
|
||||
# 是否允许跨站 Cookie(仅在确实需要浏览器跨站会话时设 true)
|
||||
CORS_SUPPORTS_CREDENTIALS=false
|
||||
|
||||
# =============================================================================
|
||||
# 密码哈希(config/hashing.php)
|
||||
# =============================================================================
|
||||
|
||||
# bcrypt 迭代轮数;越大越慢越安全,测试环境可略低
|
||||
BCRYPT_ROUNDS=12
|
||||
|
||||
# =============================================================================
|
||||
# 日志(config/logging.php)
|
||||
# =============================================================================
|
||||
|
||||
# 默认日志通道名,对应下方 LOG_STACK 中的通道之一
|
||||
LOG_CHANNEL=stack
|
||||
# stack 通道所包含的子通道,逗号分隔,如 single、daily
|
||||
LOG_STACK=single
|
||||
# 弃用警告单独输出到的通道;null 表示忽略
|
||||
LOG_DEPRECATIONS_CHANNEL=null
|
||||
# 日志级别:debug / info / notice / warning / error / critical / alert / emergency
|
||||
LOG_LEVEL=debug
|
||||
|
||||
# =============================================================================
|
||||
# 数据库(config/database.php)
|
||||
# =============================================================================
|
||||
|
||||
# 连接名:pgsql / mysql / sqlite 等
|
||||
DB_CONNECTION=pgsql
|
||||
# 数据库主机
|
||||
DB_HOST=127.0.0.1
|
||||
# 数据库端口(PostgreSQL 默认 5432)
|
||||
DB_PORT=5432
|
||||
# 数据库名
|
||||
DB_DATABASE=lottery
|
||||
# 数据库用户名(示例留空,本机按实际填写)
|
||||
DB_USERNAME=
|
||||
# 数据库密码(示例留空)
|
||||
DB_PASSWORD=
|
||||
# 完整数据库 URL,若设置可覆盖上述分散配置(一般留空)
|
||||
# DB_URL=
|
||||
|
||||
# =============================================================================
|
||||
# Session(config/session.php)
|
||||
# =============================================================================
|
||||
|
||||
# 会话驱动:file / cookie / database / redis 等
|
||||
SESSION_DRIVER=redis
|
||||
# 会话存活时间(分钟)
|
||||
SESSION_LIFETIME=120
|
||||
# 是否加密会话数据
|
||||
SESSION_ENCRYPT=false
|
||||
# Cookie 路径,一般根路径 /
|
||||
SESSION_PATH=/
|
||||
# Cookie 域;单域本地开发常用 null
|
||||
SESSION_DOMAIN=null
|
||||
|
||||
# =============================================================================
|
||||
# 广播与文件(config/broadcasting.php、config/filesystems.php)
|
||||
# =============================================================================
|
||||
|
||||
# 广播驱动:null / log / reverb(大厅 WebSocket 快照推荐) / pusher 等
|
||||
# 使用 reverb 时另开终端:php artisan reverb:start(与 php artisan serve 并行)
|
||||
# 大厅 draw.countdown 每秒需跑调度:php artisan schedule:work(或等同),勿仅用每分钟 cron
|
||||
BROADCAST_CONNECTION=reverb
|
||||
|
||||
# Laravel Reverb(config/reverb.php);玩家端 Echo:NEXT_PUBLIC_REVERB_APP_KEY/HOST/PORT/SCHEME(与 REVERB_* 对齐)
|
||||
REVERB_APP_ID=
|
||||
REVERB_APP_KEY=
|
||||
REVERB_APP_SECRET=
|
||||
# Reverb 服务监听地址:本机直连可用 127.0.0.1;需要局域网访问时改为 0.0.0.0
|
||||
REVERB_SERVER_HOST=0.0.0.0
|
||||
REVERB_HOST=localhost
|
||||
REVERB_PORT=8080
|
||||
REVERB_SCHEME=http
|
||||
# 默认文件存储盘:local / s3 等
|
||||
FILESYSTEM_DISK=local
|
||||
|
||||
# =============================================================================
|
||||
# 队列与缓存(config/queue.php、config/cache.php)
|
||||
# =============================================================================
|
||||
|
||||
# 队列驱动:sync(同步)/ database / redis 等;本地常用 database
|
||||
QUEUE_CONNECTION=redis
|
||||
# 缓存存储:file / database / redis 等;与 Redis 赔付池等能力对接前可用 database
|
||||
CACHE_STORE=redis
|
||||
# 号码赔付池是否使用 Redis Lua 原子扣减;本地无 Redis Lua 需求时可 false
|
||||
LOTTERY_RISK_POOL_USE_REDIS_LUA=false
|
||||
# 缓存键全局前缀;多环境共 Redis 时可用于隔离,一般可留空使用框架默认
|
||||
# CACHE_PREFIX=
|
||||
|
||||
# =============================================================================
|
||||
# Memcached(config/cache.php;未用可保持默认)
|
||||
# =============================================================================
|
||||
|
||||
MEMCACHED_HOST=127.0.0.1
|
||||
|
||||
# =============================================================================
|
||||
# Redis(config/database.php 中 redis 连接)
|
||||
# =============================================================================
|
||||
|
||||
# Redis 客户端扩展:phpredis / predis
|
||||
REDIS_CLIENT=phpredis
|
||||
REDIS_HOST=127.0.0.1
|
||||
# Redis 密码;无认证填 null
|
||||
REDIS_PASSWORD=null
|
||||
REDIS_PORT=6379
|
||||
# 默认 Redis 逻辑库编号(与 session/queue 共用连接时注意规划)
|
||||
REDIS_DB=0
|
||||
# 专用于 cache 连接的逻辑库编号(config 中 default 与 cache 两套连接)
|
||||
REDIS_CACHE_DB=1
|
||||
|
||||
# =============================================================================
|
||||
# 邮件(config/mail.php)
|
||||
# =============================================================================
|
||||
# 逗号分隔,含协议。本地示例:http://localhost:3800,http://localhost:3801
|
||||
CORS_ALLOWED_ORIGINS=
|
||||
CORS_SUPPORTS_CREDENTIALS=false
|
||||
CORS_MAX_AGE=0
|
||||
|
||||
# 邮件驱动:smtp / log(仅写日志)等
|
||||
MAIL_MAILER=log
|
||||
# TLS 方案等(smtp+URL 时用;一般用框架默认)
|
||||
MAIL_SCHEME=null
|
||||
MAIL_HOST=127.0.0.1
|
||||
MAIL_PORT=2525
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
# 默认发件人邮箱
|
||||
MAIL_FROM_ADDRESS="hello@example.com"
|
||||
# 默认发件显示名(可引用 APP_NAME)
|
||||
MAIL_FROM_NAME="${APP_NAME}"
|
||||
|
||||
# =============================================================================
|
||||
# AWS S3 等(config/filesystems.php;未用 S3 可留空)
|
||||
# =============================================================================
|
||||
|
||||
# IAM 访问键 ID(仅在使用 S3/队列等 AWS 能力时必填)
|
||||
AWS_ACCESS_KEY_ID=
|
||||
# IAM Secret
|
||||
AWS_SECRET_ACCESS_KEY=
|
||||
AWS_DEFAULT_REGION=us-east-1
|
||||
AWS_BUCKET=
|
||||
# 兼容 MinIO 等路径风格 Endpoint 时使用 true
|
||||
AWS_USE_PATH_STYLE_ENDPOINT=false
|
||||
|
||||
# =============================================================================
|
||||
# 前端 Vite(vite 构建时注入)
|
||||
# =============================================================================
|
||||
|
||||
# 供前端读取的应用名,通常与 APP_NAME 一致
|
||||
VITE_APP_NAME="${APP_NAME}"
|
||||
|
||||
# =============================================================================
|
||||
# 彩票业务(config/lottery.php、database/seeders;密钥仅写本机 .env)
|
||||
# =============================================================================
|
||||
|
||||
# 运营项(默认币种、开奖间隔/窗口/封盘提前、预生成期数、金额格式)已迁移后台配置 lottery_settings,
|
||||
# 建议在 /admin/settings 管理;此处不再提供对应 env 键。
|
||||
# lottery_settings 表读缓存 TTL(秒);调小更易立即看到后台改值,调大减库压
|
||||
LOTTERY_SETTINGS_CACHE_TTL=60
|
||||
# 开发绕过:Authorization: Bearer dev:{players.id};仅当 APP_ENV 为 local 或 testing 且为 true 时生效(PHPUnit 依赖 testing),生产务必 false
|
||||
LOTTERY_PLAYER_AUTH_DEV_BYPASS=false
|
||||
|
||||
# 校验主站 JWT 的算法(与签发方一致)
|
||||
LOTTERY_JWT_ALGORITHM=HS256
|
||||
# JWT 内表示站点编码的 claim 名
|
||||
LOTTERY_JWT_CLAIM_SITE_CODE=site_code
|
||||
# JWT 内表示主站玩家标识的 claim 名
|
||||
LOTTERY_JWT_CLAIM_SITE_PLAYER_ID=site_player_id
|
||||
# JWT 允许的最长有效窗(秒):exp-iat 不得超过此值;默认 300(5 分钟)
|
||||
LOTTERY_JWT_MAX_TTL_SECONDS=300
|
||||
# 是否要求 JWT 含 iat(建议 true,与短效 Token 策略一致)
|
||||
LOTTERY_JWT_REQUIRE_IAT=true
|
||||
# 可选:32 字节 AES 密钥再 Base64;用于 URL 传递的密文 Token 解包为内层 JWT
|
||||
# LOTTERY_PLAYER_TOKEN_AES_KEY=
|
||||
|
||||
# 管理端登录:Sanctum PAT 有效天数(签发时刻起),至少 1;到期需重新登录
|
||||
ADMIN_API_TOKEN_TTL_DAYS=7
|
||||
|
||||
# Legacy 主站兜底配置:正式接入站点以后台 admin_sites 为准;这里仅用于本地默认站/历史回退。
|
||||
# 主站站点根 URL(SSO、跳转等)
|
||||
MAIN_SITE_BASE_URL=
|
||||
# 主站 JWT 验签密钥(与主站约定,勿泄露)
|
||||
MAIN_SITE_SSO_JWT_SECRET=
|
||||
# 主站钱包接口基地址
|
||||
MAIN_SITE_WALLET_API_URL=
|
||||
# 主站钱包接口访问密钥
|
||||
MAIN_SITE_WALLET_API_KEY=
|
||||
# 主站钱包 HTTP 超时(秒)
|
||||
MAIN_SITE_WALLET_TIMEOUT=10
|
||||
# 主站对接:生产请在后台「接入站点」(admin_sites) 维护;以下为可选 legacy 兜底,本地联调可填,生产可留空
|
||||
# MAIN_SITE_BASE_URL=
|
||||
# MAIN_SITE_SSO_JWT_SECRET=
|
||||
# MAIN_SITE_WALLET_API_URL=
|
||||
# MAIN_SITE_WALLET_API_KEY=
|
||||
# MAIN_SITE_WALLET_TIMEOUT=10
|
||||
|
||||
# db:seed 演示玩家钱包:可用余额(最小货币单位,整数)
|
||||
DEV_SEED_WALLET_BALANCE_MINOR=125000
|
||||
# db:seed 演示玩家钱包:冻结余额(最小货币单位,整数)
|
||||
DEV_SEED_WALLET_FROZEN_MINOR=0
|
||||
|
||||
# Sanctum SPA 场景:与 API 不同端口的前端域名列表,逗号分隔,用于有状态 Cookie 鉴权
|
||||
# 如果要走局域网访问,把真实 IP 和端口补进来,例如:
|
||||
# SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1,::1,192.168.0.101:3800,192.168.0.101:3801,192.168.0.101:8000
|
||||
SANCTUM_STATEFUL_DOMAINS=
|
||||
|
||||
Reference in New Issue
Block a user