May 112011
 

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