TCP SYN behavior and reverse proxy (mod_proxy)
am 11.11.2009 18:43:47 von Prigge ScottHi. I'm running 2.2.8 on Linux with mod_proxy in a reverse proxy configurat=
ion, which is forwarding data to an application server. And there is a feat=
ure within this application which relies on HTTP POST data from the browser=
.. We also have a third-party authentication module which is loaded as a sha=
red object. When the authentication shared object not loaded in Apache, the=
HTTP POST data is spooled to the application server as it is being receive=
d. But when the auth shared object is loaded, the HTTP POST data is held un=
til all of it is received from the browser.=20
I can see in network traces that in both cases, Apache opens a new TCP conn=
ection with the application server immediately after the initial TCP connec=
tion with the browser is established. But over slow WAN connections for exa=
mple, it takes a number of minutes to receive all of the POST data. And sin=
ce Apache initiates a new TCP connection with the app server immediately, t=
he TCP connection with the app server remains idle for a number of minutes.=
When Apache eventually does receive all of the POST data and begins forwar=
ding it to the application server, the OS on the app server has timed out t=
he TCP connection and responds with TCP RST packets. As a result, the brows=
er receives a "502 Bad Gateway" response.
Is there a way I might force Apache or (mod_proxy) to wait until all of the=
HTTP POST data is received before establishing a new TCP connection with t=
he app server? I have tried adding a number of Apache/mod_proxy/mod_proxy_h=
ttp directives in various combinations, but haven't been able to change thi=
s specific behavior.
------------------------------------------------------------ ---------
The official User-To-User support forum of the Apache HTTP Server Project.
See
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org