Using HttpMapModule with proxy_pass got 502
Maxim Dounin
mdounin at mdounin.ru
Wed Jan 23 14:21:13 UTC 2013
Hello!
On Wed, Jan 23, 2013 at 06:16:52AM -0500, amozz wrote:
> Hi everyone,
>
> My project needs to route http request to different host with different
> domain name. I deployed HttpMapModule and proxy_pass, and the related
> nginx.conf segment is following:
>
> http {
> map $http_host $backend_servers {
> app.example.com localdomain1; #if changed to ip, it's ok
> default localdomain2;
> }
>
> server {
> listen 80;
> server_name localhost;
> location /{
> proxy_pass http://$backend_servers;
> }
> .......
> }
>
> When I send the requet uri as http://app.example.com, the result is 502
> error. But if I changed the maping value as IP address not domain name, it
> worked with no problem. And if I change the proxy_pass item directly to
> http://localdomain1, it also worked as normal.
>
> Does the proxy_pass + http_map_module not refer to DNS look? or is there any
> other point wrong in the nginx.conf ?
>
> Thanks for any suggestion.
For dynamic name resolution of upstream servers to work, you have
to configure resolver, see http://nginx.org/r/resolver.
You may also start looking into error log if something goes wrong.
In this case it should have "no resolver defined" errors logged.
--
Maxim Dounin
http://nginx.com/support.html
More information about the nginx
mailing list