[BUG] Posted requests not handled after dns resolving

lanshun zhou zls.sogou at gmail.com
Tue Mar 12 16:31:00 UTC 2013


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20130313/54226f93/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: posted_requests.patch
Type: application/octet-stream
Size: 1420 bytes
Desc: not available
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20130313/54226f93/attachment.obj>


More information about the nginx-devel mailing list