Dear Joe thanks for your comments, I reply you in line.
2016-06-22 14:42 GMT+02:00 Joe Gooch <[email protected]>: > I don't know enough about expect continue to know what we should do. > > Based on this: > > https://support.urbanairship.com/entries/59909909--Expect-100-Continue-Issues-and-Risks > > It seems like something I wouldn't ever use. Anytime I've run into it in > the past it has been to disable it. > Joe I totally agree with you, but there are customer's application that use it, propietary apps. > > Based on the above, if pound isn't going to support it, returning code 417 > Expectation failed is probably the correct thing to do, instead of silently > dropping the header. (Which would only be a valid course of action for GET > requests). > It would be great.. right now pound is responding a 500 Internal Server Error and client thinks the reason is an issue in the load balancer. I think 417 is a more descriptive error. > Is that what's happening, or do you have an incoming post request that > never completes? > No, the connection is closed, in my case the Real Server/Backend is waiting for a header "Expectation: 100-continue" that never receives and in the middle of the content transfer from LB to backend and after a few seconds the Backend closes the active transfer with pound, automatically the load balancer logs an copy chunk error in syslog and forward to the client "500 internal server error". We are making some tests in Lab, I will update you with results. Regards! > > > Joe > > On Jun 22, 2016, at 4:23 AM, Emilio Campos <[email protected]> > wrote: > > Some advise? > > Any information will be appreciated > > 2016-06-19 19:54 GMT+02:00 Emilio Campos <[email protected]>: > >> We are currrently working with pound 2.8a, Joe's version from github and >> everything works like a charm, but after a few days ago a customer >> requested us a issue with some transfers. >> >> After a review we detected that they use HTTP 1/1 and some large request >> are sent from the client to server chunked and with header Expect: >> 100-continue, pound deletes this header and it looks like after a few >> chunked sent to the backend, the backend sends a unexpected "FIN,ACK" to >> pound and it closes the communication unexpectedly. >> >> I have been reading the code and pound delete this header also I found >> this in http.c >> >> * * we do NOT support the "Expect: 100-continue" headers* >> * * support may involve severe performance penalties >> (non-responding back-end, etc)* >> * * as a stop-gap measure we just skip these headers* >> >> Tinkering in google I found a patch for 2.6: >> >> >> *https://bitbucket.org/amplidata/pound/src/f2affa5f867a9718c9dc864e5f1c2e0eddd91b9c/debian/patches/expect_100_continued.patch?at=default&fileviewer=file-view-default >> <https://bitbucket.org/amplidata/pound/src/f2affa5f867a9718c9dc864e5f1c2e0eddd91b9c/debian/patches/expect_100_continued.patch?at=default&fileviewer=file-view-default> >> * >> >> I would like to know if this could be added in the master branch, we >> could make tests to support it. >> >> -- >> Load balancer distribution - Open Source Project >> http://www.zenloadbalancer.com >> Distribution list (subscribe): >> [email protected] >> > > > > -- > Load balancer distribution - Open Source Project > http://www.zenloadbalancer.com > Distribution list (subscribe): > [email protected] > > -- Load balancer distribution - Open Source Project http://www.zenloadbalancer.com Distribution list (subscribe): [email protected]
