Files
Genarrative/deploy/nginx

Genarrative Nginx compression policy

本配置片段由 scripts/jenkins-server-provision.sh 在安装 Nginx 站点配置时展开。

gzip

  • deploy/nginx/genarrative.confdeploy/nginx/genarrative-dev-http.conf 默认开启 gzip。
  • 覆盖 application/json,用于降低 /api/runtime/*/gallery 这类 JSON 列表接口的公网带宽占用。
  • 当前推荐等级为 gzip_comp_level 5,兼顾 2C/2G 服务器 CPU 与压缩收益。

Brotli

  • Brotli 只在目标服务器 Nginx 编译/加载了 brotli 模块时开启。
  • Provision 脚本通过 nginx -Vnginx -t 做探测;可用时把模板中的 # __GENARRATIVE_BROTLI_DIRECTIVES__ 替换为 brotli 指令,不可用时保留注释说明。
  • 不要直接在静态模板里无条件写 brotli on;,否则没有 brotli 模块的服务器会 nginx -t 失败并回滚。

验证

curl -sSI -H 'Accept-Encoding: gzip' \
  http://<host>/api/runtime/puzzle/gallery \
  | grep -iE 'content-encoding|vary|content-type|content-length'

curl -sSI -H 'Accept-Encoding: br' \
  http://<host>/api/runtime/puzzle/gallery \
  | grep -iE 'content-encoding|vary|content-type|content-length'

预期:

  • gzip 可用时返回 Content-Encoding: gzip
  • br 可用时返回 Content-Encoding: br
  • 响应头应包含 Vary: Accept-Encoding