4.7 JWT、HTTP 与静态资源

JWT 与短链接域名

JWT 配置

jwt:
  secret: "your-secret-key-change-this"
  expire_hours: 24
字段 说明
secret JWT 签名密钥,生产必须修改
expire_hours Token 过期时间,小时

自动生成

JWT_SECRET 未显式设置,首次启动会自动生成随机密钥并写入 config/config.yaml。后续升级时请保留此文件,否则所有已签发的 Token 将失效。

密钥建议

# 生成 64 位随机密钥
openssl rand -hex 32

通过环境变量注入:

export JWT_SECRET=$(openssl rand -hex 32)

短链接对外域名

shortlink:
  domain: "http://localhost:8080"
  length: 6
  custom_length: true
字段 说明
domain 对外展示的基准域名。影响 API 返回的 short_url 字段
length 自动生成短码的默认长度
custom_length 是否允许用户自定义短码长度

多域名支持

shortlink.domain 只是默认域名。真正的多域名能力通过 域名管理 接口 (/api/v1/domains) 实现:

  1. 在后台「域名管理」中添加多个域名(如 s.example.comn3.ink),可单独配置协议、ICP 备案号、查询参数透传等
  2. 创建短链接时指定 domain 字段即可路由到对应域名
  3. DNS / 反向代理需把所有这些域名都指向 dwz-server 实例

HTTPS 建议

生产环境务必把 shortlink.domain 设为 https:// 开头的域名,并通过 Nginx / Caddy / Traefik 做 TLS 终止。