Nginx 我真正用到的配置,就这几段
每次搜 Nginx 配置,出来都是几百行的"终极指南"。但维护一个内部系统这些年,真正反复用到的就三段,记下来省得每次翻。
反代 + 传递真实 IP(最常用,没有之一):
location / {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
不带 X-Forwarded-For,应用里看到的访客 IP 永远是 127.0.0.1;不带 X-Forwarded-Proto,应用不知道外面是 https,生成的跳转链接全是 http。
gzip(文本类资源必开):
gzip on;
gzip_min_length 1024;
gzip_comp_level 6;
gzip_types text/plain text/css application/json application/javascript
application/xml image/svg+xml;
注意 gzip_types 别忘了 application/json——接口响应才是大头,默认配置里恰恰没有它。
静态资源缓存:
location ~* \.(css|js|png|jpe?g|svg|woff2)$ {
expires 30d;
add_header Cache-Control "public";
}

改完配置 nginx -t 再 reload,这个肌肉动作能救一半的事故。至于什么 worker 进程数、epoll 调优——内部系统并发两位数,那些离我还很远。配置是拿来解决问题的,不是拿来背的。