灯下哥谭 灯下哥谭
首页
关于
  • Hermes Agent 平台
  • Claude Code
  • OpenClaw
  • GPU 推理节点运维
  • MySQL 运维知识地图
  • Elasticsearch 运维知识地图
  • Redis 运维知识地图
  • TiDB 体系
  • DBA 常用 SQL 与命令
  • Nginx 运维知识地图
  • Prometheus 监控
  • Docker
  • Systemd
  • Iptables
  • Firewalld
  • Sshd
  • MySQL8 运维 SOP 手册
  • MySQL 实战 45 讲(读书笔记)
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

灯下哥谭

灯还亮着
首页
关于
  • Hermes Agent 平台
  • Claude Code
  • OpenClaw
  • GPU 推理节点运维
  • MySQL 运维知识地图
  • Elasticsearch 运维知识地图
  • Redis 运维知识地图
  • TiDB 体系
  • DBA 常用 SQL 与命令
  • Nginx 运维知识地图
  • Prometheus 监控
  • Docker
  • Systemd
  • Iptables
  • Firewalld
  • Sshd
  • MySQL8 运维 SOP 手册
  • MySQL 实战 45 讲(读书笔记)
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 工作笔记

  • 容器与编排

  • Nginx

    • Nginx 运维知识地图:从配置基础到反向代理实战
    • Nginx 给内部服务加认证:Basic Auth / LDAP / OIDC 三档怎么选
    • 利用nginx+sftp实现一个可供用户下载的服务
    • nginx配置文件及模块
    • Nginx 端口转发与复用:四层代理与 SO_REUSEPORT 实战
    • OpenResty 版本升级与模块管理:从 1.13 到 1.19 的实践
    • NGINX基于cookie针对同一域名进行分流转发
    • nginx利用内置模块配置限速限流
    • 利用NGINX内置模块mirror进行流量复制等操作
    • Nginx 常用配置速查
      • 1. 使用 $remote_user 字段记录访问用户
        • 1.1 配置示例
        • 1.2 适用场景
      • 2. nginx 配置 gzip 压缩
        • 2.1 基础配置
        • 2.2 常见问题
        • 2.3 验证方法
      • 3. 参考
    • Nginx 日志切割两种方案对比:外部脚本 vs 配置文件原生切割
    • nginx配置微信小程序校验及其他
    • 由Nginx集中代理分散的PHP集群的实践
    • http状态码详解
    • 排查NGINX的open_file_cache导致发布后访问404的问题
    • Nginx Proxy Manager 使用笔记
  • 监控

  • 网络安全

  • 其他

  • Linux笔记
  • Nginx
灯下哥谭
2019-11-16
目录

Nginx 常用配置速查

本文汇总 Nginx 日常使用的高频配置项,包含日志输出与 gzip 压缩两个主题。

版本说明

本文基于多篇历史文章合并整理,首次发布于 2019-11(用户字段记录),2020-10(gzip 压缩)曾做修订。合并后版本写于 2026-09。
按 D1 速查体裁登记豁免。

# 1. 使用 $remote_user 字段记录访问用户

在企业内网环境中,给没有集成权限认证系统的页面加一层认证后,如果使用 NGINX 统一账号,出了问题难以定位是谁操作的。通过在日志中添加 $remote_user 字段,可以记录访问者的身份。

# 1.1 配置示例

在日志格式中添加用户字段:

log_format json escape=json '{ "remote_addr": "$remote_addr",'
                           '"@timestamp":"$time_iso8601",'
                           '"request_uri": "$request_uri",'
                           '"remote_user": "$remote_user",'  # 写入之后,就能记录访问的用户了
                           '"verb": "$request_method",'
                           '"httpversion": "$server_protocol",'
                           '"response": "$status", '
                           '"body_bytes_sent": "$body_bytes_sent", '
                           '"user_agent": "$http_user_agent", '
                           '"server_name": "$host",'
                           '"request_time": "$request_time" }';
1
2
3
4
5
6
7
8
9
10
11

然后结合 LDAP 认证模块配置(参考相关文档),日志中即可看到用户名:

{ "remote_addr": "127.0.0.1", "@timestamp": "2019-11-15T16:57:29+08:00", "request_uri": "/", "remote_user": "eryajf", ... }
1

# 1.2 适用场景

  • 内部系统审计
  • 问题溯源
  • 访问统计按用户分组

# 2. nginx 配置 gzip 压缩

gzip 压缩可以显著减少传输数据量,提升页面加载速度。

# 2.1 基础配置

在 http 区块添加:

gzip on;
gzip_comp_level 4;
gzip_static on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_proxied any;
gzip_types text/plain application/xml application/javascript text/css application/json image/jpeg image/gif image/png;
gzip_disable "MSIE [1-5]\\.";
1
2
3
4
5
6
7
8

# 2.2 常见问题

配置后不生效?

检查请求的 Content-Type 是否在 gzip_types 列表中。例如 application/javascript 需要显式添加:

gzip_types text/plain application/xml application/javascript application/x-javascript text/css application/json image/jjpeg image/gif image/png;
1

# 2.3 验证方法

  1. 浏览器开发者工具 → Network → 查看 Response Headers 中是否有 Content-Encoding: gzip
  2. 使用 curl 验证:
curl -I -H "Accept-Encoding: gzip" http://example.com/
1

# 3. 参考

  • Nginx gzip 模块文档 (opens new window)
#可观测性#性能优化#Nginx
上次更新: 9/4/2026

← 利用NGINX内置模块mirror进行流量复制等操作 Nginx 日志切割两种方案对比:外部脚本 vs 配置文件原生切割→

最近更新
01
当监控说没事而 DMV 说有事——N9E 与 SQL Server 指标交叉验证实战 原创
08-28
02
TiKV 节点 CPU 周期性打满,进程却只占 4%:一次热点 Region 的逆向排查 原创
08-28
03
托管 SQL Server 的运维边界:哪些 DBA 手段会失效,以及用什么替代 原创
08-28
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式