httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Plüm, Rüdiger, VF-Group <ruediger.pl...@vodafone.com>
Subject Re: apache 2.2 mod_proxy_http disable buffering
Date Fri, 07 Dec 2007 10:22:27 GMT


> -----Ursprüngliche Nachricht-----
> Von: Pavel Stano 
> Gesendet: Freitag, 7. Dezember 2007 02:48
> An: dev@httpd.apache.org
> Betreff: Re: apache 2.2 mod_proxy_http disable buffering
> 
> 
> Ruediger Pluem wrote:
> > 
> > You are correct. This is only fixed in trunk so far. You 
> are affected by
> > PR41056 (https://issues.apache.org/bugzilla/show_bug.cgi?id=41056).
> > I just proposed the patch from trunk for backport. Please find the
> > patch attached for your convenience.
> > 
> 
> thanks for patch, it works, but it looks that it create 
> another problem,
> do not backport it yet to 2.2.x
> 
> proxy (2.2.6 with this patch) sometimes dont send data to client, just
> headers from backend, data are lost (blank page in browser)
> it took me some time to reproduce it at 100%
> it happend when proxy read headers in first read() and data in second
> and others read()

Do you have any kind of cgi script, php script, jsp that can reproduce
this behaviour?

> 
> problem does not happend when proxy in first read() read headers WITH
> some data, in my case it is 99% of all time
> 
> here is strace output from proxy when happend that problem
> 
> ... proxy send request to backend
> 11902 writev(14, [{"GET /~stanojr/tmp/p/ HTTP/1.1\r\n", 31}, {"Host:
> xxx.xx\r\n", 21}, {"X-Forwarded-For: 1.2.3.4, 1.2.3.4\r\n", 47},
> {"Max-Forwards: 10\r\n", 18}, {"X-Forwarded-Host: xxx.xx\r\n", 33},
> {"X-Forwarded-Server: xxx.xx\r\n", 35}, {"Connection: Keep-Alive\r\n",
> 24}, {"\r\n", 2}], 8) = 211
> 11902 read(14, 0x7576c8, 8000)          = -1 EAGAIN (Resource
> temporarily unavailable)
> 11902 poll([{fd=14, events=POLLIN, revents=POLLIN}], 1, 600000) = 1
> 
> ... proxy read headers from backend (no data)
> 11902 read(14, "HTTP/1.1 200 OK\r\nDate: Fri, 07 Dec 2007 01:35:42
> GMT\r\nServer: Apache\r\nVary: User-Agent\r\nConnection:
> close\r\nTransfer-Encoding: chunked\r\nContent-Type: 
> text/html\r\n\r\n",
> 8000) = 162
> 11902 read(14, 0x7576c8, 8000)          = -1 EAGAIN (Resource
> temporarily unavailable)
> 
> ... proxy send headers to client
> 11902 writev(11, [{"HTTP/1.1 200 OK\r\nDate: Fri, 07 Dec 2007 01:35:42
> GMT\r\nServer: Apache\r\nVary: User-Agent\r\nContent-Type:
> text/html\r\nConnection: close\r\n\r\n", 134}], 1) = 134

Hm, we neither sent a Transfer-Encoding nor a valid Content-Length. This is
no valid HTTP/1.1 response.

Regards

Rüdiger


Mime
View raw message