I run nginx as a reverse proxy server,and set a dns server for it.
I add the dns for the nginx at http directive:
resolver 192.168.0.106;
In nginx configuration:
proxy_pass http://test.nginx.org;
and the dns server configuration: test.nginx.org point to 192.168.0.100.
but in debug log:
2011/08/15 15:51:45 [error] 16819#0: *1 connect() failed (111:
Connection refused) while connecting to upstream, client: 192.168.0.105,
server: nginx.org, request: “GET / HTTP/1.1”, upstream: http://206.251.255.63:80/, host: “test.nginx.org”
it show the nginx resole test.nginx.org from system defined dns.
only when I configuration nginx:
proxy_pass http://$http_host;
the nginx resolve through the define dns.
How to only use the defined dns for nginx even the proxy_pass source is
a domain?
2011-08-15
it show the nginx resole test.nginx.org from system defined dns.
only when I configuration nginx:
proxy_pass http://$http_host;
the nginx resolve through the define dns.
How to only use the defined dns for nginx even the proxy_pass source is a
domain?
Directive “resolver” is only used when resolving hosts given by
variables at run time. To resolve hosts during configuration
loading nginx uses normal system resolver as available via
gethostbyname() interface.
If you want to override some name to a particular ip address, use
“upstream” directive, i.e.