Instead of writing multiple server blocks repeatedly in configuration, we can simplified configuration using nginx map module
ie:
map_hash_bucket_size 128;
map $http_host $backend_servers {
hostnames;
default www.example.com;
frontend.example2.com backend.example2.com
frontend.example3.com backend.example3.com
www.example.org backend.example.org
}
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
server {
location / {
proxy_pass http://$backend_servers
}
}
source: taken from nginx mailinglist
Follow me on Twitter