We recently switched our development JBOSS instance from 4.05GA to 4.21GA, where we are have
been using mod_jk for connecting an Apache front end server (2.2) to the Tomcat AppServer.
We have noticed periodic times when the apache web server will return data with a content-type
of plain/text (the server default) instead of the real content-type, and a chunked encoding
(even if the AppServer was producing a non-chunked content). We tried switch to mod_proxy_ajp,
but got the same result.
A bit of sleuthing (2 days X 2 engineers) revealed that the AJP connection on Tomcat is sending
a SEND_BODY_CHUNK (which I assume is a flush packet) periodically that seem to be confusing
mod_jk. We can see in the mod_jk and mod_proxy_ajp debug log that the correct headers are
coming from the Tomcat server. However, it seems like mod_jk and mod_proxy_ajp are losing
all the header information regarding the packet (including the Powered by headers, content-type,
content-length, cookies, etc.).
In normal operation, for a sample small transaction, we would see this sequence in response:
SEND_HEADERS
SEND_BODY_CHUNK
END_RESPONSE
When the output would come out as text/plain, we would see this sequence:
SEND_BODY_CHUNK
SEND_HEADERS
SEND_BODY_CHUNK
END_RESPONSE
Is there something we should have configured differently so that mod_jk or mod_proxy_ajp will
behave better?
|