Tomcat-Einstellungen


Diese Einstellungen sollten an jedem System entsprechend vorgenommen werden. Optional können noch folgende Einstellungen vorgenommen werden:

Speicher

Folgende Einstellungen bzgl. Arbeitsspeicher sollten vorgenommen bzw. angepasst werden.

  • -Xms512m
    Anfangsgröße des Heap
  • -Xmx4096m
    Maximalgröße des Heap

Beispiel (Linux)

Der Pfad zur Konfigurationsdatei ist TOMCAT_VERZEICHNIS/bin/setenv.sh

export JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx4096m"

Einstellung am Connector

Folgende Einstellungen sollten am Tomcat in der Konfigurationsdatei TOMCAT_VERZEICHNIS/conf/server.xml vorgenommen werden:

<Connector port="80" protocol="HTTP/1.1"
          connectionTimeout="20000"
          redirectPort="8443"
          URIEncoding="UTF-8"
          maxPostSize="10485760"
          maxHttpHeaderSize="65536"
          relaxedQueryChars="[ \ ] ^ ` { | }" />

Wichtig: Xima® Formcycle unterstützt in Version 7 in Kombination mit dem Tomcat 9 momentan kein HTTP/2. Daher darf in dem von Xima® Formcycle verwendeten Connector keine Protokollupgrade-Definition wie <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" /> vorhanden sein.

Weitere Informationen zu den Parametern finden Sie in den folgenden Abschnitten.

Beschränkung der Upload-Größe ändern

Diese Einstellung betrifft die Maximalgröße von Dateien beim Upload im Formular durch Uploadelemente und beim Upload im Posteingang. Ist die Uploadgröße kleiner als definiert, kommt es zu einem Fehler beim Hochladen der Datei. Der Default-Wert sind 2MB.

Der Pfad zur Konfigurationsdatei ist TOMCAT_VERZEICHNIS/conf/server.xml

Folgende Option muss innerhalb des Connectors definiert sein:

maxPostSize="Wert in Bytes"

Beispiel für eine maximale Uploadgröße von 10 MB, die Angabe erfolgt in Bytes:

<Connector ...
           maxPostSize="10485760"
           ... />

Beschränkung der HTTP-Headergröße ändern

Diese Einstellung betrifft die Maximalgröße der vom Tomcat akzeptierten HTTP-Header. Diese kann zum Beispiel bei aktivierter Kerberos-Authentifizierung den Standardwert überschreiten, sodass Tomcat zum Beispiel der Aufruf eines Formulars mit einem HTTP-Fehlercode 400 (Ungültiger Request) verweigert.

Der Pfad zur Konfigurationsdatei ist TOMCAT_VERZEICHNIS/conf/server.xml.

Folgende Option muss innerhalb des Connectors definiert sein:

maxHttpHeaderSize="Wert in Bytes"

Beispiel für 64 KB, die Angabe erfolgt in Bytes:

<Connector ...
           maxHttpHeaderSize="65536"
           ... />

UTF-8

Kommt es zu Fehlern bei der Darstellung von Umlauten oder anderen landesspezifischen Zeichen, prüfen Sie, ob das URIEncoding am Connector angegeben wurde.

Der Pfad zur Konfigurationsdatei ist TOMCAT_VERZEICHNIS/conf/server.xml

Folgende Option muss innerhalb des Connectors definiert sein:

URIEncoding="UTF-8"

Beispiel

<Connector ...
           URIEncoding="UTF-8"
           ... />

Kommt es ferner zu Darstellungsproblemen von Dateinamen mit Sonderzeichen und/oder Umlauten ergänzen sie bitte den Java-Parameter -Dfile.encoding=UTF-8. Dieser muss je nach verwendetem Betriebssystem entweder in der verwendeten Konfigurationsdatei oder Konfigurationsfenter angegeben werden.

Beispiel (Linux)

Der Pfad zur Konfigurationsdatei ist TOMCAT_VERZEICHNIS/bin/setenv.sh

export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"

Session-Timeout

Das Session-Timeout kann innerhalb der web.xml von Xima® Formcycle erhöht werden, sollte die Standardeinstellung von 30 Minuten nicht ausreichen.

Der Pfad zur Konfigurationsdatei ist TOMCAT_VERZEICHNIS/webapps/formcycle/WEB-INF/web.xml

<!-- 30 Minuten bis Session-Timeout -->
<session-config>
...
 <session-timeout>30</session-timeout>
...
</session-config>

Session-Tracking

Innerhalb der web.xml von Xima® Formcycle (TOMCAT_VERZEICHNIS/webapps/formcycle/WEB-INF/web.xml) oder auch in der globalen web.xml des Tomcat-Servers (TOMCAT_VERZEICHNIS/conf/web.xml) kann der Modus des zu verwendenden Session-Tracking Modus hinterlegt werden. Standardmäßig gibt es seitens Xima® Formcycle hierfür keine Festlegung, sodass hier sowohl die Verwendung von Cookies oder das Übertragen der Session-ID innerhalb der URL möglich sind. Zweiteres ist ein Rückfall falls z.B. der Browser des Benutzers keine Cookies zulässt. Da eine solche URL jedoch bei unachtsamem Gebrauch in falsche Hände geraten kann und man so ggf. die Sitzung eines angemeldeten Benutzers übernehmen könnte, empfiehlt es sich wenn möglich ausschließlich das Session-Tracking per Cookie zu verwenden. Konfiguriert wird das Verhalten durch das Auskommentieren bzw. Einfügen der gewünschten Mechanismen. Innerhalb der Xima® Formcycle-web.xml sind standardmäßig beide Werte auskommentiert was zu dem beschriebenen Standard-Verhalten führt. Ein Session-Tracking ausschließlich per Cookie würde demnach wie folgt aussehen:

<session-config>
...
 <!-- Uncomment the session-trackings-mode(s) you want to use -->
 <!-- <tracking-mode>URL</tracking-mode> -->
 <tracking-mode>COOKIE</tracking-mode>
...
</session-config>

Cookie-Konfiguration

Innerhalb der Session-Konfiguration können sowohl in der globalen Tomcat-web.xml (TOMCAT_VERZEICHNIS/conf/web.xml) als auch innerhalb der Xima® Formcycle-web.xml (TOMCAT_VERZEICHNIS/webapps/formcycle/WEB-INF/web.xml) Einstellungen bezüglich des verwendeten Session-Cookies getroffen werden. Xima® Formcycle setzt hier standardmäßig bereits den Wert http-only was dazu führt, dass der Cookie lediglich innerhalb des Browsers benutzt werden kann. Zusätzlich besteht die Möglichkeit das Cookie auf eine feste Domain (domain) und Pfad (path) zu binden und auch einen eigenen Namen (name) sowie die Gültigkeit (max-age) festzulegen. Standardmäßig sind Anpassungen dieser Einstellungen nicht nötig. Relevanter ist jedoch die Option secure. Ist diese vorhanden und hat den Wert true, werden Cookies lediglich bei der Kommunikation über HTTPS übertragen. Sollte die Anwendung oder der ganze Server ausschließlich über HTTPS bereitgestellt werden, ist es aus Gründen der Sicherheit empfohlen diesen Wert zu setzen. Innerhalb der Xima® Formcycle-web.xml würde dies wie folgt aussehen:

<session-config>
...
 <cookie-config>
   <!-- <comment>This is my special cookie configuration</comment> -->
   <!-- <domain>example.com</domain> -->
   <!-- <name>CUSTOM_NAME</name> -->
   <http-only>true</http-only>
   <secure>true</secure>
   <!-- <max-age>30000</max-age> -->
   <!-- <path>/formcycle</path> -->
 </cookie-config>
</session-config>

Kontextname

Der Kontextname wird beispielsweise genutzt, um Monitoring Beans zum Überwachen des Serverstatus einzurichten. Standardmäßig ist der Kontextname der Name der WAR-Datei, kann aber auch geändert werden, indem der Kontextparameter XFC_CONTEXT_NAME in der Konfigurationsdatei web.xml geändert wird.

<context-param>
 <param-name>XFC_CONTEXT_NAME</param-name>
 <param-value>formcycle</param-value>
</context-param>

Benutzerpfad für Tomcat

Auf manchen Linux-basierten Systemen besitzt der Tomcat Nutzer standardmäßig keinen Benutzerordner. Ein solcher wird aber benötigt, damit Xima® Formcycle grundlegende Einstellungen ablegen kann. Der Pfad des Benutzerordners wird üblicherweise in der Datei /etc/passwd vorgenommen.