sks-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Sks-devel] nginx proxy_ignore_client_abort with kqueue


From: Phil Pennock
Subject: [Sks-devel] nginx proxy_ignore_client_abort with kqueue
Date: Thu, 28 Feb 2013 04:34:49 -0500

So, it appears that nginx is not honouring:
  proxy_ignore_client_abort on;
if the server was built with kqueue support (FreeBSD).

This might be a mistake somewhere in my configuration, but I don't think
so.  A sanity check from others would be appreciated, thanks.

Temporarily turning on an error log for the :11371 vhost yields:

2013/02/28 09:11:54 [info] 34110#0: *51
 kevent() reported that client closed connection while waiting for request,
 client: 2a02:898:0:20::57:1, server: [2a02:898:31:0:48:4558:73:6b73]:11371

"proxy_ignore_client_abort on" avoids enabling logic in
src/http/ngx_http_upstream.c which would log:

  kevent() reported that client prematurely closed
  connection, so upstream connection is closed too

That's _not_ the error message here; instead, what we get comes from
src/http/ngx_http_request.c in ngx_http_keepalive_handler().

That's set as the handler in ngx_http_init_connection(), as well as
later if keepalives are actually enabled, so setting keepalive_timeout
to 0 does not help.

As far as I can tell, as long as NGX_HAVE_KQUEUE is defined, it is
impossible to avoid this handling.

My server config for this port is this:

    server {
        listen      94.142.241.93:11371;
        listen      [2a02:898:31:0:48:4558:73:6b73]:11371;
        access_log  off;
        location / {
            proxy_pass         http://127.0.0.1:11371;
            proxy_pass_header  Server;
            add_header         Via "1.1 sks.spodhuis.org:11371 (nginx)";
            proxy_ignore_client_abort on;
        }
    }

I've made various changes, all now reverted, and have been unable to
change this behaviour.

Am I missing something, or is this an unfortunate nginx/kqueue
interaction?

-Phil



reply via email to

[Prev in Thread] Current Thread [Next in Thread]