Activation de la compression sur les serveurs Apache Tomcat

Si vous utilisez Apache comme serveur frontal pour Tomcat avec mod_jk ou mod_proxy, nous vous recommandons d'utiliser Apache plutôt que Tomcat pour la compression. En effet, la compression est beaucoups plus flexible et rapide sur les serveurs Apache.

Il est impossible de désactiver la compression pour les navigateurs non compatibles à l'aide de Tomcat uniquement. Pour ce faire, vous devez utiliser un serveur Web frontal capable de prendre en charge la compression.

Pour activer la compression, localisez dans un premier temps votre répertoire Tomcat. Sous Windows, ce répertoire se trouvera probablement à l'emplacement C:\Program Files\Apache\Apache Tomcat. Sous Unix, il n'existe aucun emplacement standard mais vous pouvez rechercher le répertoire intitulé webapps pour localiser votre répertoire Tomcat.

Ouvrez le répertoire conf qui s'y trouve et modifiez le fichier server.xml. Localisez la ligne connectrice CoyoteConnector suivante :

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
    acceptCount="100" bufferSize="2048" compression="off"
    connectionLinger="-1" connectionTimeout="20000"
    connectionUploadTimeout="300000" debug="0"
    disableUploadTimeout="true" enableLookups="true"
    maxKeepAliveRequests="100" maxProcessors="75"
    minProcessors="5" port="8130" 
    protocolHandlerClassName="org.apache.coyote.http11.Http11Protocol" 
    proxyPort="0" redirectPort="8132" scheme="http" 
    secure="false" serverSocketTimeout="0" 
    tcpNoDelay="true" tomcatAuthentication="true" 
    useBodyEncodingForURI="true" useURIValidationHack="false">

Défnissez compression sur 5000 (pour définir la taille minimale des réponses qui seront compressées) et compressableMimeType sur text/html,text/xml,text/plain,application/x-javascript,text/css.