Hi, Baptiste Thanks for your explanation.
the second question is from this: I want to change the current behavior of connection between haproxy and backend servers as following: pre-setup some persistent connections between haproxy and backend servers. such as: connection1(haproxy---->server1), connection2(haproxy--->server2) and, 1, when a client1's request incoming, dispatch it to connection1 , forward the request to server1, and when server1's response is totally forwarded to client1 by haproxy, connection1 is freed; then if clientN's request incoming, dispatch it to connection1. that is reusing the connection. clinet1----------->[ ]------------------>server1 client2----------->| | ...... | haproxy| clientn----------->[ ]------------------->server2 so, I should know when the response is totally forwarded so that I can free the connection between haproxy and server Mark On Thu, Aug 2, 2012 at 3:46 PM, Baptiste <[email protected]> wrote: > On Wed, Aug 1, 2012 at 1:13 PM, mark green <[email protected]> > wrote: > > Hi, > > > > when haproxy forward a http request to server, and received response > from > > backend server, > > forward it to client, will haproxy receive another request on the same > > socket before this response is forwarded to client? > > and, how to decide this response is completely forwarded to client? > > > > Thanks > > Hi Mark, > > It depends on the options you have enabled on HAProxy, and in some > cases, on the server itself. > The options I'll speak about are "http-server-close" and "httpclose". > If none of them are set in your configuration, then you're in the > tunnel mode, which means HAProxy will analyze the first request then > maintain opened a tunnel between the client and the server, where > every data being transferred won't be analyzed. > In this mode, this is up to the server to decide when to close the > connection. > > If you setup httpclose, then HAProxy will close the TCP connection > after each request for both client and server, announcing the HTTP > header "Connection: close". > > If you setup http-server-close, then HAProxy will use HTTP keep alive > to maintain the TCP connection opened on the client side only. On the > server side, a new TCP connection will be opened per each HTTP > requests. > > I don't understand your last question. > Could you be clearer? > > Baptiste >

