On 03.03.2009 20:12, fredk2 wrote:
When I send a request to Tomcat via mod_jk I get the following error (code
413):
Request Entity Too Large
The requested resource
/myapp/jsp/cookieshowvalue.jsp
does not allow request data with GET requests, or the amount of data
provided in the request exceeds the capacity limit.
I total size of my headers/cookies is about 7.5KB on Solaris 10 and 9.8KB on
RH Linux. I made sure that Apache's limit was set above its default of 8K
(LimitRequestFieldSize 25000)
The mod_jk logfiles shows:
[Mon Mar 02 14:42:22.856 2009] [27893:4136860560] [error]
ajp_marshal_into_msgb::jk_ajp_common.c (417): failed appending the header
value
...
The problem is apparent with any version of Apache or mod_jk or Tomcat (I am
testing with 2.2.11, 1.2.26, 6.0.14).
I read the following doc
http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html which says there is
no limit:
...
at the end of the (very old page) it contains the following statement:
What happens if the request headers > max packet size? There is no
provision to send a second packet of request headers in case there are
more than 8K (I think this is correctly handled for response headers,
though I'm not certain). I don't know if there is a way to get more than
8K worth of data into that initial set of request headers, but I'll bet
there is (combine long cookies with long ssl information and a lot of
environment variables, and you should hit 8K easily). I think the
connector would just fail before trying to send any headers in this
case, but I'm not certain.
I tried to read some of the source code jk_ajp_common.c ... but i cannot
figure out where the limit for the header array(s) comes from.
I then tested with the attributes worker.properties->max_packet_size and
server.xml->packetSize. It appears to fix the large header problem.
Does this mean that all the headers (thus cookies) together have to fit into
a buffer which size is set by max_packet_size?
Exactly, that's the correct and only way around the problem.
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]