Tomcat konfigurieren
In der INUBIT-Software wird Tomcat eingesetzt.
Die folgende Tabelle bietet einen Überblick über einige Konfigurationsmöglichkeiten:
Was? | Wo? | ||
---|---|---|---|
Servlet-Konfiguration |
|
||
JVM-Speicher ändern (Process Engine) |
|
||
Log-Datei konfigurieren |
Tomcat loggt in die Datei
|
||
Automatisches Herunterfahren deaktivieren |
Die INUBIT Process Engine erkennt Fehler beim Herunterfahren und beendet den Prozess korrekt, falls nötig. Dieses Verhalten ist standardmäßig aktiviert, kann aber auch über die Workbench deaktiviert werden (Administration > Allgemeine Einstellungen > Verwaltung > Server > Stoppe Server-Prozess falls nötig). Das Deaktivieren ist sinnvoll, wenn der Status der INUBIT Process Engine durch kundenspezifische Skript-Lösungen überwacht und gesteuert wird. Sobald Tomcat startet, wird die aktuelle Prozess-ID der INUBIT Process Engine in die Datei Diese ID kann mit externen Skripts verwendet werden, um den Zustand der INUBIT Process Engine zu erkennen:
|
Erläuterung
Um auf URLs (z.B. via Browser) innerhalb des Tomcats, also eine im Tomcat liegenden Applikation (wie INUBIT) gesichert zugreifen zu können, werden diese mit Credentials abgesichert. Da alle Aufrufe durch den Tomcat laufen, werden sie auch auf dieser Ebene abgesichert.
Der Tomcat löst bei Aufruf einer URL alle dazu konfigurierten Rollen entsprechend auf und erlaubt nur den Zugriff mit den hinterlegten Credentials zu diesen konfigurierten Rollen.
Standardmäßig sind die Credentials in der Datei
tomcat
‑users.xml
hinterlegt.
Beispiel-Implementierung in der INUBIT‑Standardinstallation:
-
Tomcat
server.xml
:
Es ist ein sogenannter Realm definiert, der die Nutzer und Passwörter enthält. Der Realm zeigt auf die Dateitomcat-users.xml
. Man kann ihn nachträglich auch ändern, siehe https://tomcat.apache.org/tomcat-9.0-doc/realm-howto.html. -
INUBIT
web.xml:
Beispiel: Rolleibisaccess
, die auf die RessourceList Web Services Servlet
zugreifen darf.<security-constraint> <web-resource-collection> <web-resource-name>List Web Services Servlet</web-resource-name> <url-pattern>/listServices</url-pattern> </web-resource-collection> <auth-constraint> <role-name>ibisaccess</role-name> </auth-constraint> </security-constraint>
Dieses Vorgehen gilt für jede Applikation innerhalb des Tomcats. Es können ein oder mehrere Rollennamen referenziert werden, die Zugriff auf diese Ressource haben sollen.
-
INUBIT
tomcat-users.xml:
Beispiel: Userroot `für die Rolle `ibisaccess
<tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd" version="1.0"> <role rolename="ibisaccess"/> <user username="root" password="meinPasswort" roles="ibisaccess"/> </tomcat-users>
Bei Aufruf der Resource https://<server>:<port>/ibis/listServices
ist der Benutzername root
und Passwort meinPasswort
gültig und wird durchgelassen.
Alle anderen Credentials werden abgelehnt und der Inhalt der Ressource nicht angezeigt.
Fügt man weitere Applikationen im Tomcat hinzu, z.B. Tomcat Manager, AS4 Gateway und definiert in der |