Upstream Blocks and Backend Servers

1 min read

Authors
banner

Upstream Blocks

What are Upstream Blocks?

Upstream blocks define a pool of backend servers that can be referenced by proxy_pass directives.

Basic Upstream

upstream backend {
    server backend1:8080;
    server backend2:8080;
    server backend3:8080;
}

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

With Server Weights

Route more traffic to powerful servers:

upstream backend {
    server backend1:8080 weight=5;  # 5x traffic
    server backend2:8080 weight=2;  # 2x traffic
    server backend3:8080 weight=1;  # 1x traffic
}

Backup Servers

Use backup when all primary servers are down:

upstream backend {
    server primary1:8080;
    server primary2:8080;
    server backup:8080 backup;
}

Backend pools configured!

© 2025 Vijay Rajendran