

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
13 messages in ru.sysoev.nginxRe: Client closed keepalive connection| From | Sent On | Attachments |
|---|---|---|
| Wilson Bilkovich | Apr 27, 2007 10:39 am | |
| Igor Sysoev | Apr 27, 2007 10:52 am | |
| Wilson Bilkovich | Apr 27, 2007 11:11 am | |
| Igor Sysoev | Apr 27, 2007 11:17 am | |
| Wilson Bilkovich | Apr 27, 2007 11:22 am | |
| Igor Sysoev | Apr 27, 2007 11:33 am | |
| Wilson Bilkovich | Apr 27, 2007 11:46 am | |
| Cliff Wells | Apr 27, 2007 9:10 pm | |
| Igor Sysoev | Apr 27, 2007 11:47 pm | |
| Wilson Bilkovich | Apr 28, 2007 10:01 am | |
| Igor Sysoev | Apr 28, 2007 11:46 am | |
| Wilson Bilkovich | Apr 28, 2007 1:35 pm | |
| Igor Sysoev | Apr 29, 2007 7:03 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: Client closed keepalive connection | Actions... |
|---|---|---|
| From: | Wilson Bilkovich (wils...@public.gmane.org) | |
| Date: | Apr 27, 2007 11:46:41 am | |
| List: | ru.sysoev.nginx | |
On 4/27/07, Igor Sysoev <is-G...@public.gmane.org> wrote:
On Fri, Apr 27, 2007 at 02:23:14PM -0400, Wilson Bilkovich wrote:
On 4/27/07, Igor Sysoev <is-G...@public.gmane.org> wrote:
On Fri, Apr 27, 2007 at 02:11:52PM -0400, Wilson Bilkovich wrote:
On 4/27/07, Igor Sysoev <is-G...@public.gmane.org> wrote:
On Fri, Apr 27, 2007 at 01:39:40PM -0400, Wilson Bilkovich wrote:
I am having some difficulty with nginx as a load balancer on MacOS X (Intel). I am running 0.5.19, but the problem occurs with recent earlier versions as well.
With "use kqueue" 2007/04/26 22:26:15 [info] 4133#0: *3048 kevent() reported that client 192.168.0.100 closed keepalive connection
With "use poll" 2007/04/26 22:59:48 [info] 10189#0: *375 client 192.168.0.100 closed keepalive connection
On the client side, I get a "Socket closed." error. My HTTP client is not configured to use keepalive, which makes the error message seem very strange. The only 'weird' thing I am doing is sending a '100 Continue' response from the back-end server. Does nginx have different behavior when I send back a 100?
Does the client do POST and pass "Expect: continue" ? nginx does not support "Expect: continue/100 Continue" dialog because current browsers still do not support it (at least I never see).
So the client askes "Expect: continue", nginx passes the request to backend, the backend responses "100 Continue". nginx sends it to the client and goes to keep-alive state.
The client is not passing Expect: continue. I'm mimicking the behavior of a 3rd-party app that 'unexpectedly' sends a 100 Continue response before the 'real' response code. These are POST requests though, yes.
In the nginx access log, '100' is the status code shown. Does nginx enable keep-alive automatically when that happens?
keep-alive in nginx has no relation to "100".
nginx enables keep-alive if keepalive_timeout >0 and *) an request has the "Connection: keep-alive" header 2* or an request has no "Connection" header and the request version is > 1.0.
OK, so if I set keepalive_timeout to 0, that should reveal whether this is actually the problem I am seeing?
No. The "Expect: continue/100 Continue" dialog should work as following:
client -> "Expect: continue" -> nginx client <- "100 continue" <- nginx client -> BODY -> nginx nginx -> whole request -> backend (without Expect")
clint <- nginx <- response <- backend
but nginx does not currently support "Expect".
In your case nginx passes "100 continue" and thinks that request is over.
I am sending the '100 Continue' and the other HTTP/1.1 status line as a single chunk from the back-end. There's actually no keepalive conversation in progress. With keepalive_timeout set to 0, it seems to happen much more often. I'm testing it now.







