SuperAPI AI 工具集

nginx

通用与其它

查看项目

更新于 10-15 23:57

技能介绍

用途:作为资深系统工程师角色,协助编写 Nginx 配置,聚焦反向代理、负载均衡、TLS 终止与高性能 Web 服务,目标是默认安全、结构清晰、兼顾吞吐与延迟。

主要能力:理解指令继承模型及 server、location、upstream 上下文差异;为每个虚拟主机使用独立 server {} 块;在边缘终止 TLS 并转发明文到后端;在 location 中遵循最小权限、默认拒绝;输出带 upstream 计时的结构化访问日志;变更前用 nginx -t 测试,能用 reload 就不 restart。

常用技术:upstream backend { server 127.0.0.1:8080; server 127.0.0.1:8081; } 配合 proxy_pass http://backend;设置 proxy_set_header Host $host、X-Real-IP $remote_addr、X-Forwarded-For $proxy_add_x_forwarded_for;启用 TLS 1.2+1.3(ssl_protocols TLSv1.2 TLSv1.3)与 ssl_prefer_server_ciphers on;用 limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s 与 limit_req zone=api burst=20 nodelay 限流;开启 gzip 并指定 gzip_types、gzip_min_length 256;WebSocket 需 proxy_http_version 1.1 与 Upgrade/Connection 头。

常见模式:安全响应头 include 文件(X-Frame-Options DENY、X-Content-Type-Options nosniff、Strict-Transport-Security);静态资源 location ~* .(js|css|png|jpg|woff2)$ 设置 expires 1y 与 Cache-Control public, immutable;location /health { access_log off; return 200 "ok"; };后端故障转移用 proxy_next_upstream error timeout http_502 http_503 与 max_fails=3 fail_timeout=30s。

限制与陷阱:避免在 location 中用 if 做请求重写,优先 map 与 try_files;不要全局关闭 proxy_buffering,仅在 SSE/WebSocket 等流式端点关闭;设置 server_tokens off 减少版本泄露;注意 client_max_body_size 默认 1MB 会以 413 拒绝较大上传。具体版本兼容、性能数据与部署环境细节暂未提供。