Nginx 反向代理配置详解
反向代理是 Nginx 最强大的功能之一。本文详细介绍各种反向代理场景的配置方法。
基本反向代理
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
负载均衡
upstream backend {
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
}
server {
location / {
proxy_pass http://backend;
}
}
WebSocket 支持
location /ws {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
常见陷阱
- 忘记传递 Host 头会导致后端无法正确识别域名
- 大文件上传需要设置
client_max_body_size - 静态文件建议直接用 Nginx 处理,减轻后端压力
评论 (0)