[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Sks-devel] nginx proxy_ignore_client_abort with kqueue,
Phil Pennock <=