概述
Nginx Operations 是一份面向生产部署的 Nginx 运维参考文档,涵盖配置架构、反向代理模式、SSL/TLS 加固、负载均衡策略与性能优化。内容以速查表、决策树和可直接使用的配置片段为主。
配置架构
文档给出 nginx.conf 的整体结构速查,包括 main、events、http、server、location 以及可选的 stream 上下文的层级关系,并列出 worker_processes、worker_rlimit_nofile、worker_connections、multi_accept、sendfile、gzip 等常用指令的位置。
同时说明指令继承规则:子块继承父块指令;子块同名指令覆盖父块;数组型指令不会继承,而是在子块中声明时被整体替换;内层块不会影响外层。特别提示 proxy_set_header、add_header、proxy_hide_header 等数组型指令在子块重新定义时会被完全替换而非合并。
反向代理
文档提供反向代理决策树,按后端数量、会话保持需求、后端容量差异、WebSocket、gRPC、流式响应等场景给出对应策略,包括:单后端使用 proxy_pass;多后端按需选用 ip_hash、sticky cookie(Nginx Plus)、weight、least_conn、random two least_conn,默认 round-robin;WebSocket 需设置 Upgrade 与 Connection 头;gRPC 使用 grpc_pass;流式场景关闭 proxy_buffering。
SSL/TLS
包含使用 Certbot 获取 Let's Encrypt 证书的命令(nginx 插件方式与 webroot 方式),以及自动续期测试命令。给出最小生产 SSL 配置示例,包含证书路径、TLS 1.2/1.3 协议、加密套件、HSTS、OCSP Stapling、会话缓存与 HTTP 到 HTTPS 跳转。
Location 匹配
文档列出 location 修饰符优先级:= 精确匹配、^~ 前缀(跳过正则)、~ 区分大小写正则、~* 不区分大小写正则、无修饰符前缀匹配。并给出评估算法步骤与匹配示例表。
常用配置
提供多类现成配置片段:SPA 路由(try_files 回退 index.html 并缓存静态资源)、WebSocket 代理、限流(limit_req_zone 与 burst/nodelay)、Gzip 压缩、静态文件服务(alias、expires、open_file_cache)、CORS 头与预检请求处理。
Docker 集成
给出 docker-compose 中 Nginx 作为反向代理的编排示例,以及多阶段构建(构建前端后由 nginx 镜像托管静态资源)的 Dockerfile 与配置,含健康检查端点。
常见陷阱
文档汇总多个易错点及其修复方式,例如:proxy_pass 尾随斜杠对路径的影响、缺少代理头导致后端拿不到真实客户端信息、缓冲大小不足引发 502、worker_connections 过低、try_files 与 proxy_pass 同处使用时需配合命名 location、location 中 if 的副作用、动态 upstream 需配置 resolver、缺少 index 指令导致 403、Unix socket 权限、gzip 重复压缩、add_header 不被继承、alias 与 root 的差异。
参考文件
文档列出三个参考文件:reverse-proxy.md(约 650 行,上游块、负载均衡、代理缓存、WebSocket/gRPC、超时)、ssl-security.md(约 550 行,TLS 配置、Let's Encrypt、HSTS、OCSP、安全头、限流、mTLS)、performance.md(约 550 行,worker 调优、压缩、缓存、HTTP/2+3、静态文件、监控)。
限制
资料未提供该技能的收费、价格、安装步骤或具体平台支持范围等信息。