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;
}
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 ?
On Wed, Jan 23, 2013 at 06:16:52AM -0500, amozz wrote:
}
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 Module ngx_http_core_module.
You may also start looking into error log if something goes wrong.
In this case it should have “no resolver defined” errors logged.