Nginx 反向代理配置详解

Nginx 反向代理配置详解

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)

发表评论