INHALTSVERZEICHNIS
- Speicher
- Einstellung am Connector
- Beschränkung der Upload-Größe ändern
- Beschränkung der HTTP-Headergröße ändern
- UTF-8
- Session-Timeout
- Session-Tracking
- Cookie-Konfiguration
- Kontextname
- Benutzerpfad für Tomcat
Diese Einstellungen sollten an jedem System entsprechend vorgenommen werden. Optional können noch folgende Einstellungen vorgenommen werden:
- Bereitstellung über HTTPS
Konfiguration des Tomcats um Aufruf über HTTPS zu ermöglichen - FORMCYCLE von Root-Domain aufrufen
Statt etwa über http://formcycle.eu/formcycle/ kann formcycle so über http://formcycle.eu/ aufgerufen werden. - Datenverzeichnis von formcycle ändern
Verzeichnis, in dem interne Daten von formcycle und Formularen gespeichert werden.
Speicher
Folgende Einstellungen bzgl. Arbeitsspeicher sollten vorgenommen bzw. angepasst werden. Die Summe von On-Heap und Off-Heap sollte geringer sein als der maximal zur Verfügung stehende Arbeitsspeicher.
- -Xms512m
Anfangsgröße des On-Heap. - -Xmx3072m
Maximalgröße des On-Heap. - --XX:MaxDirectMemorySize=3072m
Maximalgröße des Off-Heaps. Der Off-Heap wird standardmäßig für den Formular- und Dateien-Cache verwendet, falls dies nicht anders konfiguriert ist.
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="[ \ ] ^ ` { | }" ></Connector>
Wichtig: FORMCYCLE unterstützt in Version 7 in Kombination mit dem Tomcat 9 momentan kein HTTP/2. Daher darf in dem von FORMCYCLE verwendeten Connector keine Protokollupgrade-Definition wie 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 folgenden Java-Parameter:
-Dfile.encoding=UTF-8
Dieser muss, je nach verwendetem Betriebssystem, entweder in der verwendeten Konfigurationsdatei oder Konfigurationsfenster angegeben werden:
Alternativ kann der Parameter auch in einer setenv.bat-Datei festgelegt werden.
Hinweis: Nach dem Hinzufügen des Parameters muss der Tomcat neu gestartet werden. Erst dann werden die Java Options neu initialisiert.
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 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 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 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 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 FORMCYCLE-web.xml (TOMCAT_VERZEICHNIS/webapps/formcycle/WEB-INF/web.xml) Einstellungen bezüglich des verwendeten Session-Cookies getroffen werden. 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 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 FORMCYCLE grundlegende Einstellungen ablegen kann. Der Pfad des Benutzerordners wird üblicherweise in der Datei /etc/passwd vorgenommen.
War dieser Artikel hilfreich?
Das ist großartig!
Vielen Dank für das Feedback
Leider konnten wir nicht helfen
Vielen Dank für das Feedback
Feedback gesendet
Wir wissen Ihre Bemühungen zu schätzen und werden versuchen, den Artikel zu korrigieren