4.7 JWT、HTTP 与静态资源
JWT、HTTP 与静态资源
本节说明登录密钥、监听地址、代理和嵌入资源。短链域名不在这里全局配置,而是在管理后台“域名”页面按工作区维护。
JWT
jwt:
secret: "至少 32 字节、来自密码学安全随机源的值"
expire_hours: 24若 jwt.secret 为空,服务会生成随机值并尝试追加到现有配置文件。生产环境应显式提供 JWT_SECRET 并安全备份;多实例必须一致。更换密钥会使现有登录 JWT 失效,用户需要重新登录。
API Token 的生命周期独立于登录 JWT。删除 Token 或禁用关联用户会使相应 API 认证失效。详见认证与工作区。
HTTP
app:
mode: release
http:
addr: ":8080"
mode: release
load_static: trueHTTP_ADDR控制监听地址。HTTP_MODE控制 HTTP 运行模式。APP_MODE控制日志驱动;生产环境同样设为release。- 应用本身以 HTTP 提供服务,公网 HTTPS 通常由反向代理终止。
反向代理必须保留原始 Host,否则服务无法按 Host 匹配短链域名。
静态资源和模板
发布版通过 go:embed 内置:
static/admin/**
templates/**
migrations/**生产默认使用 embed,无需额外复制。开发时可切换为磁盘模式:
http:
mode: debug
static_mode: disk
static_dir:
- admin
templates_mode: disk
templates_dir: templateshttp.static_dir 是静态子目录列表,默认只发布 admin,对应 URL 前缀 /admin/。磁盘模式使用相对于进程工作目录的文件,修改工作目录会影响解析。
品牌上传
系统品牌 Logo 上传后保存在 data/uploads/branding/,通过 /uploads/branding/<filename> 访问。即使静态资源使用 embed,也必须持久化 data/,否则容器重建会丢失上传文件。
上线检查
/admin/可以加载且无静态资源 404;/favicon.ico能跳转到管理端图标;/health返回数据库UP;- 外部 HTTPS 请求的 Host、客户端 IP 和协议头被正确转发;
- 登录 JWT 在多个实例间均可验证;
data/uploads/branding/可写并已纳入备份。