proxy, upstream, apache vhosts not working

Isaac Hailperin i.hailperin at heinlein-support.de
Thu Jul 26 14:48:45 UTC 2012


Hi,

I want to configure nginx as a proxy to a bunch of apaches, all serving 
the same multiple websites via vhosts.

I had it working with something like
         location  ~* \.(jpg|gif|png|css|js) {
                 try_files $uri @proxy;
         }
         location @proxy {
                proxy_pass http://www.acme.net;
         }
         location / {
                proxy_pass http://www.acme.net;
}

in my server section.
But this only asked a single apache, the one configured in /etc/hosts 
for http://www.acme.net.

Now I am trying to use all of my apaches. I defined an upstream block 
like this:
         upstream backend-all-apaches {
                 server 10.10.1.25;
                 server 10.10.1.26;
                 server 10.10.1.27;
                 server 10.10.1.28;
                 server 10.10.1.15;
                 server 10.10.1.18;
                 server 10.10.1.20;
         }
         proxy_set_header        Host            $host;

And the following in my server block:
           location @proxy {
                 proxy_pass http://backend-all-apaches;
         }
All I get in my browser is a default page that also gets deliverd when I 
call http://10.10.1.25 in my browser. So I assume the apaches don't get 
the right host value in the http header. I thought that
         proxy_set_header        Host            $host;
would solve this problem, but apprently it does not.

What am I doing wrong here, or what else could I try?

Isaac



More information about the nginx mailing list