Files
easygoadmin-wiki/EasyGoAdmin_GoFrame_AntdVue/zh/appendix/config-reference.md
T
2026-10-20 21:53:26 +08:00

100 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# C. 配置项速查
:::tip 概述
manifest/config/config.yaml 全键速查。环境变量覆盖(12-Factor,环境变量 > 配置文件):`GF_` 前缀 + 键路径大写下划线(如 GF_DATABASE_DEFAULT_LINK);空值视为未设置,仅覆盖本文件已有键,键名规则与 Docker 注入方式详见 [2.5 配置文件说明](../quickstart/env-vars)。
:::
## server(服务端)
| 键 | 默认 | 说明 |
|----|------|------|
| server.address | :8000 | 监听地址 |
| server.openapiPath | /api.json | OpenAPI 路径 |
| server.swaggerPath | "" | Swagger UI(本地托管 resource/swagger/) |
| server.dumpRouterMap | false | 启动打印路由表 |
| server.errorStack | true | 响应携带堆栈(生产 false) |
| server.graceful | true | 优雅重启 |
## logger / database / redis
| 键 | 默认 | 说明 |
|----|------|------|
| logger.level | all | 日志级别 |
| logger.stdout | true | 控制台输出 |
| logger.path | log | 日志目录 |
| database.default.type | mysql | 五方言:mysql/pgsql/mssql/oracle/sqlite |
| database.default.link | — | 连接串(库名含点需注意) |
| database.default.debug | false | SQL 日志(生产 false) |
| redis.default.address | 127.0.0.1:6379 | 地址 |
| redis.default.pass | — | 密码(生产强密码) |
| redis.default.db / idle / maxActive / timeout | 0/10/50/300 | 池参数 |
## jwt / captcha / rateLimit
| 键 | 默认 | 说明 |
|----|------|------|
| jwt.secret | — | 签名密钥(**生产必改**) |
| jwt.issuer | easygoadmin | 签发者 |
| jwt.accessTokenExpire | 7200 | 访问令牌秒数(2h) |
| jwt.refreshTokenExpire | 604800 | 刷新令牌秒数(7d) |
| captcha.expire | 300 | 验证码秒数 |
| captcha.bypassCode | 618618 | 万能码(**生产留空**) |
| captcha.length / chars | 6 / 排除易混淆 | 字符 |
| captcha.fontPath | resource/static/fonts/Vera.ttf | 缺失降级 SVG |
| captcha.imageWidth/Height/fontSize | 160/50/40 | 尺寸 |
| captcha.noiseLines/noiseDots | 8/500 | 干扰 |
| rateLimit.enable | true | 限流开关 |
| rateLimit.limit | 120 | 普通接口/窗口/IP/路径 |
| rateLimit.windowSeconds | 60 | 窗口 |
| rateLimit.authLimit | 10 | 认证入口严阈值 |
## operationLog / job / tenant / app
| 键 | 默认 | 说明 |
|----|------|------|
| operationLog.enable | true | 操作日志总开关 |
| operationLog.logQuery | true | 记录查询类 |
| job.logRetentionDays | 90 | 三张日志表保留天数(LogClean 消费) |
| tenant.defaultId | 1 | 超管新增的默认归属租户 |
| app.timezone | Asia/Shanghai | 时区 |
| app.demo | false | 演示模式(true 拦截全部写操作) |
| app.errorMsg | true | 详细错误信息(生产 false) |
## api / cors / file / generator / ip2region
| 键 | 默认 | 说明 |
|----|------|------|
| api.camelSnakeConvert | true | 驼峰转换(恒开) |
| api.proxyIps | 127.0.0.1,::1,CIDR… | 受信代理(XFF 信任范围) |
| cors.allowOrigin | * | 跨域来源 |
| file.uploadDir | 随环境(当前为开发机绝对路径) | 上传物理根;建议相对项目根,容器部署用 `GF_FILE_UPLOADDIR` 覆盖 |
| file.domainUrl | http://file.goframe.elevue | 文件访问域名(空=相对 /upload/ 路径) |
| file.tempDir | temp | 临时目录名 |
| file.imageExt | gif,jpg,jpeg,png,bmp,webp,svg | 图片白名单 |
| file.fileExt | (含 doc/xls/pdf/zip/js/css/sql 等) | 文件白名单(公网收紧) |
| file.maxSize | 10 | 单文件 MB |
| file.tempExpireDays | 7 | temp 保留天数(0=不清理) |
| generator.parentMenuId | 189 | 新模块菜单父级 ID |
| generator.overwrite | true | 覆盖开关(唯一入口;true=生成即覆盖,false=缺失补生成、存在跳过) |
| ip2region.path | manifest/data/ip2region.xdb | 归属地库 |
## 环境变量覆盖示例
```sh
GF_SERVER_ADDRESS=":9000"
GF_DATABASE_DEFAULT_LINK="mysql:root:secret@tcp(db:3306)/easygoadmin?charset=utf8mb4&parseTime=true"
GF_REDIS_DEFAULT_ADDRESS="redis:6379"
GF_JWT_SECRET="random"
GF_APP_DEMO="false"
GF_FILE_MAXSIZE="20"
```
## 新增配置键规范
```text
1. config.yaml 增加键 + 注释说明
2. 代码用 cfgBool/cfgInt 带默认值读取(缺失不 panic)
3. 本文档同步
4. 影响限流/日志/上传/调度的键变更后跑对应回归
```