Problem with map+proxy_pass in 0.6.21

Cliff Wells cliff at develix.com
Sat Dec 15 22:12:49 MSK 2007


I've used the map+proxy_pass technique successfully elsewhere, so I
thought I'd try to use to to proxy to a bunch of OpenVZ virtual servers.

Each server is also running a copy of Nginx 0.5.x which in turns proxies
to various applications.  So we have Nginx-0.6.1 -> Nginx-0.5.x -> app.

I tried with the following:

map $host $internal_ip {
    hostnames;
    101.develix.com  10.10.10.101;
    102.develix.com  10.10.10.102;
    103.develix.com  10.10.10.103;
    # ...
}

# ...

server {
    listen           198.145.244.138;
    server_name      107.develix.com;

    access_log       /var/log/nginx/107.access_log main;
    error_log        /var/log/nginx/107.error_log info;

    location / {
        proxy_pass    http://$internal_ip:80$request_uri;                                                                                          
        include       /etc/nginx/proxy.conf;
    }
}


The above causes a 500 internal server error with the following in the log:
67.189.89.59 - - [15/Dec/2007:04:06:11 -0800] "GET / HTTP/1.1" 500 355 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b3pre) Gecko/2007121304 Minefield/3.0b3pre" "-"


However if I replace the proxy_pass directive with

         proxy_pass    http://10.10.10.107:80;                                                                                          

and it works fine.


Any suggestions or does this look like a bug?


Regards,
Cliff






More information about the nginx mailing list