Hello,
I have a couple of questions regarding the "Expect: 100-continue" header and Jetty's handling. As far as I can tell Jetty is working as expected.
The problem that I am experiencing starts with the mod_proxy load balancer, timing out the connections with the following error message:
[Fri Sep 19 15:55:46.138953 2014] [proxy_http:error] [pid 42679:tid 140302023112448] (70007)The timeout specified has expired: [client 10.20.128.232:34271] AH01102: error reading status line from remote server beta4:8012, referer:
https://host.domain.net/test?<cgi....>
This happens because I have a 5 second ping timeout in the load balancer configuration and the request will sleep 10 seconds. When connect (telnet to port) directly to the Jetty server sending:
GET /jvmid/Home/wait/sleep HTTP/1.1
Expect: 100-continue
X-Requested-With: XMLHttpRequest
X-Origin-Info: https://host.domain.net/intranet/HR/scripts/load
Cookie: username=ramire01; __utma=95830979.1141085776.1382837348.1398548673.1410185587.5; __utmz=95830979.1382837348.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); affiliation=MSH; remember=Y; SCCheck=Yes; SC_SESSION_ID=doi20k5u4q65mdx1.Beta4
DNT: 1
Host: host.domain.net
Accept: text/_javascript_, application/_javascript_, */*
X-Forwarded-For: 10.20.129.72
X-Forwarded-Server: host.domain.net
X-Session-Cookie-Name: SC_SESSION_ID
It works exactly the way that I expect:
ramire01@d27:~/test$ ./req
HTTP/1.1 100 Continue
------- 10 second delay ----------
HTTP/1.1 200 OK
Content-Type: text/html
Cache-Control: no-cache
Set-Cookie: SC_SESSION_ID=g01ur3mx37mxrpf1.jvmid;Path=/;Secure;HttpOnly
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Transfer-Encoding: chunked
Server: Jetty(8.1.13.v20130916)
B
I'm up<BR>
0
Why doesn't mod_proxy see the "HTTP/1.1 100 Continue" response, but it times out anyway?
Does Jetty handle partial headers sending "HTTP/1.1 100 Continue" and then reading more headers?
Thanks,
Edwin S. Ramirez
Mount Sinai Health System
|