SuperAPI AI 工具集

nginx

部署与运维

查看项目

更新于 10-15 10:19

技能介绍

用途

该资料是一份 Nginx 配置参考,用于 Web 服务器配置、反向代理、SSL/TLS、负载均衡、缓存与安全加固。当用户提出配置 Nginx 相关需求时可参考使用。

主要能力

配置结构

配置上下文按 main → events/http → server → location 嵌套。main 上下文包含 worker_processes、error_log、pid;events 包含 worker_connections、multi_accept;http 包含 upstream、server、mime types、logging;stream 用于 TCP/UDP 代理(邮件、数据库)。Debian/Ubuntu 文件布局包括 /etc/nginx/nginx.conf、sites-available、sites-enabled、conf.d、snippets。

反向代理与 WebSocket

通过 proxy_pass 转发请求,并设置 Host、X-Real-IP、X-Forwarded-For、X-Forwarded-Proto 等头信息。WebSocket 通过 Upgrade 和 Connection 头升级,并设置较长的 proxy_read_timeout。

负载均衡

upstream 支持默认轮询、backup 备份节点、ip_hash 会话保持、weight 权重、least_conn 最少连接,并可通过 proxy_next_upstream 在错误或指定状态码时切换上游。

SSL/TLS

提供 HTTP 到 HTTPS 的 301 跳转、证书与私钥配置、TLS 协议与加密套件、会话缓存、HSTS、OCSP Stapling,以及 Certbot 自动续期和自签名证书(仅开发用)命令。

Location 匹配与静态托管

匹配优先级为 = 精确、^~ 前缀(停止正则)、~ 区分大小写正则、~* 不区分大小写正则、普通前缀(最长匹配)。root 追加 location 到路径,alias 替换 location 为路径;SPA 回退使用 try_files 指向 index.html,并可对静态资源设置长期缓存。

安全与限流

可添加 X-Frame-Options、X-Content-Type-Options、X-XSS-Protection、Referrer-Policy、Permissions-Policy、Content-Security-Policy 等响应头并关闭 server_tokens。limit_req_zone 与 limit_conn_zone 定义限速与连接限制,配合 burst、nodelay、limit_req_status、limit_rate 使用。

缓存与压缩

proxy_cache_path 定义缓存区,proxy_cache_valid 设置状态码缓存时长,支持 proxy_cache_bypass、proxy_no_cache 和 stale 策略。Gzip 内建,Brotli 需 ngx_brotli 模块。

访问控制、日志与调优

支持 IP 白名单、Basic Auth(需 apache2-utils)。可自定义 main 与 JSON 日志格式。性能参数包括 worker_processes auto、worker_rlimit_nofile、worker_connections、sendfile、tcp_nopush、keepalive、client_max_body_size、proxy_buffer、open_file_cache 等。

Docker 与故障排查

提供基于 nginx:alpine 的 Dockerfile 与 docker-compose 反向代理示例。常见问题包括 413(client_max_body_size)、502(上游未运行、超时)、权限问题与 server_names_hash 错误。常用命令包括 nginx -t、nginx -s reload、systemctl 管理、日志跟踪、软链启用站点、nginx -T 导出完整配置。

使用方式

资料以配置片段和命令形式呈现,可按需复制到 nginx.conf、conf.d 或站点配置中,修改后使用 nginx -t 测试并用 nginx -s reload 平滑重载。

适用场景

适用于部署 Web 应用、反向代理后端服务、配置 HTTPS、横向扩展多实例、托管静态站点/SPA、添加安全响应头与限流、配置代理缓存与日志采集,以及在 Docker 环境中运行 Nginx。

限制

资料未说明版本兼容性要求、Brotli 模块的具体安装方式、各配置参数的取值约束与安全影响、性能测试数据或收费与价格信息,这些内容暂未提供。