Nginx 反向代理配置指南 Print

  • 39

Nginx 反向代理是将客户端请求转发到后端服务器的常用方案,能实现负载均衡、缓存加速和 SSL 终端。

基本反向代理

server {
    listen 80;
    server_name app.example.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        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;
    }
}

WebSocket 支持

location /ws/ {
    proxy_pass http://127.0.0.1:3000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}

负载均衡

upstream backend {
    server 127.0.0.1:3001 weight=3;
    server 127.0.0.1:3002 weight=1;
    server 127.0.0.1:3003 backup;
}

server {
    listen 80;
    server_name app.example.com;

    location / {
        proxy_pass http://backend;
    }
}

缓存加速

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mycache:10m;

location / {
    proxy_cache mycache;
    proxy_cache_valid 200 302 60m;
    proxy_cache_valid 404 1m;
    proxy_pass http://127.0.0.1:3000;
}

Was this answer helpful?

« Back