in ngx_http_upstream_resolve_handler, posted requests are not handled, so
if a run time
dns resolving is failed in a subrequest, (for example, the resolver can not
be reached, or
the domain does not exist) the main request will know nothing about this,
until something
else attached to this connection happens, like connection broken or a write
timeout

a patch is attached and hope it helps

simple configuration that can reproduce the problem (with addition module
enabled):

  addition_types *;

  resolver your_resolver_here;

  location /test {
       set $ihost xxx;                        # xxx here causes a failed
run-time dns resolving
       proxy_pass http://$ihost;
  }

  location /zzz {
      add_after_body /test;
      return 200 "test";
  }

  curl -v http://localhost/zzz

Attachment: posted_requests.patch
Description: Binary data

_______________________________________________
nginx-devel mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-devel

Reply via email to