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

Compare with Current View Page History

« Previous Version 28 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 file 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.
      <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> 
      
    3. When you are satisfied with your changes, save your changes and restart your Tomcat server.
  • No labels