I'm sure there are a few different ways to accomplish this, personally I'm working on a dynamic method to perform this with a mysql backend. For a more simplistic method, maybe try using a map hash for the backend_server variable that is matched against the incoming $http_host:
map_hash_bucket_size 64;
map $http_host $backend_server {
hostnames;
default backend-apache1.example.com;
my-frontend-alias.example.com vip-super-secret-backend.example.com
my-other-alias.example5.com vip-other-secret-backend.example2.com
}
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 80 {
location / {
proxy_pass http://$backend_server
}
}
Just an example, I'm sure I'm missing something above... :)