You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

Help is available by sending an email to csf-support@mit.edu
Have any suggestion on how improve this wiki?  Please give us your feedback at csf-support@mit.edu

Quick Links to:

Tomcat 7 manager fails when deploying a WAR file when using the AJP connector

When the Tomcat 7 manager tries to deploy a war file, it fails with the following error:

Feb 28, 2013 8:20:35 AM org.apache.coyote.ajp.AjpMessage processHeader
SEVERE: Invalid message received with signature 8192

ANSWER:

  • By default, the maximum packet size that can be process by the AJP connector is 8192 bytes.  Do the following to change the default:
    1. Edit the Tomcat server.xml located in the conf directory of your Tomcat installation.
    2. Find the Connector entry (show below).
      <Connector port="8009" protocol="AJP/1.3" tomcatAuthentication="false" redirectPort="8443" address="127.0.0.1" maxPostSize="536870912" />
      
    3. Add maxHttpHeaderSize="65536" and packetSize="65536" so that the Connector is as follows:
      <Connector port="8009" protocol="AJP/1.3" tomcatAuthentication="false" redirectPort="8443" address="127.0.0.1"  maxPostSize="536870912" maxHttpHeaderSize="65536" packetSize="65536" />
      
    4. When you are satisfied with your changes, save your changes and restart your Tomcat server.

Tomcat 7 manager fails when deploying a WAR file larger than 50 MB.

When the Tomcat 7 manager tries to deploy a war file that is larger that 50 MB, it fails with the following exception:

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (63475228) exceeds the configured maximum (52428800)
	org.apache.catalina.connector.Request.parseParts(Request.java:2780)
	org.apache.catalina.connector.Request.parseParameters(Request.java:3024)
	org.apache.catalina.connector.Request.getParameter(Request.java:1139)
	org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:382)
	org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:163)
	org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)

root cause 

org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (63475228) exceeds the configured maximum (52428800)
	org.apache.tomcat.util.http.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:804)
	org.apache.tomcat.util.http.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:284)
	org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:304)
	org.apache.tomcat.util.http.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:129)
	org.apache.catalina.connector.Request.parseParts(Request.java:2718)
	org.apache.catalina.connector.Request.parseParameters(Request.java:3024)
	org.apache.catalina.connector.Request.getParameter(Request.java:1139)
	org.apache.catalina.connector.RequestFacade.getParameter(RequestFacade.java:382)
	org.apache.catalina.filters.CsrfPreventionFilter.doFilter(CsrfPreventionFilter.java:163)
	org.apache.catalina.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.25 logs.

ANSWER:

  • By default, the maximum file size that can be uploaded by the Tomcat 7 manager is 52428800 bytes.  Do the following to change the default:
    1. Edit the web.xml of the Tomcat manager application.  You can find the web.xml file for the Tomcat manager application in the *webapps/manager/WEB-INF directory of your Tomcat installation.
    2. Find the <multipart-config> tag (show below) and increase the max-file-size and max-request-size (both initially set at 52428800) to something larger than the war file size you want to deploy.
    3. When you are satisfied with your changes, save your changes and restart your Tomcat server.
      <multipart-config> 
          <max-file-size>52428800</max-file-size> 
          <max-request-size>52428800</max-request-size> 
          <file-size-threshold>0</file-size-threshold> 
      </multipart-config> 
      
  • No labels