Forwarding to upstream server at port specified in url query paramter

dakun nginx-forum at nginx.us
Wed Mar 6 07:04:20 UTC 2013


Thanks for the advice on $arg_PARAMETER.  It allows me to retrieve the
parameter. However I am not able to use it as a port number for proxy_pass.

This shows that I can get the parameter and use it in rewrite:
location /test {
rewrite ^ http://www.google.com/?q=$arg_p;
}

This does not work. Got error "no resolver defined to resolve
www.google.com" in log.
location /path {
proxy_pass http://www.google.com/?q=$arg_p;
}

This shows that I can use the parameter in a rewrite prior to proxy_pass:
location /path {
rewrite ^(.*)$ /?q=$arg_p break;
proxy_pass http://www.google.com/;
}

Unfortunately I still can't use the paramrter value as an upstream port
number:
location /path2 {
rewrite ^(.*)$ :$arg_p break;
proxy_pass http://www.google.com;
}

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,236969,236978#msg-236978



More information about the nginx mailing list