Tomcat

Jakarta-Tomcat ist die offizielle Referenzimplemetation für die JSP und Servlets Technologien und ist unter der Open-Source-Lizenz der Apache Software Foundation ASF frei erhältlich. Obschon Tomcat frei erhältlich ist, läuft er sehr stabil und hat die Qualität eines kommerziellen Servers.

Auf dieser Seite finden Sie nützliche Tipps, Tricks und Informationen bezüglich Tomcat.

Tipps und Tricks

Realm

Realm wurde vom französischen übernommen und bedeutet soviel wie Königreich. Bezogen auf Web-Applikationen oder allgemein Java-Applikationen, definiert ein Realm eine Menge von Benutzernamen und Passwörter, welche gültige Benutzer einer geschützten Web-Applikation sind.

Tomcat kennt verschiedene Realm-Typen:

Damit ein Realm genutzt werden kann, müssen folgende Schritte ausgeführt werden

  1. Konfigurieren des Realmtyps in der Konfig-Datei server.xml. Der Standard-Realm für das Dateibasierte (tomcat-users.xml) ist von Haus aus schon vorkonfiguriert.
  2. Konfigurieren der User-Datei tomcat-users.xml. Rollen und Benutzer erfassen.
  3. Konfigurieren der Konfig-Datei web.xml. Definieren welche Ressourcen geschützt werden sollen, Welches Protokoll für die Authentifizierung verwendet wird und ob die Kommunikation verschlüsselt werden soll.

Geschützter Bereich und SSL

Mit folgenden Angaben kann in der Date web.xml ein geschützter Bereich definiert und SSL erzwungen werden:

<security-constraint>

<!-- Geschützer bereich. ALle Ressourcen unter dem Verzeichnis protected -->
<web-resource-collection>
   <web-resource-name>Geschützer Bereich</web-resource-name>
   <url-pattern>/protected/*</url-pattern>
</web-resource-collection>

<!-- Zugriff nur mit Rolle admin -->
<auth-constraint>
   <role-name>tomcat</role-name>
</auth-constraint>

<!-- SSL erzwingen -->
<user-data-constraint>
   <transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>

</security-constraint>

<login-config>
  <auth-method>BASIC</auth-method>
  <realm-name>Tomcat Test</realm-name>
</login-config>

<!-- Alle verwendete Rollen -->
<security-role>
  <role-name>admin</role-name>
</security-role>

Tomcat unterstützt von Haus aus SSL. Damit die Verschlüsselung genützt werden kann, muss zuerst ein Keystore generiert werden.

Mit folgenden Befehlen wird ein Keystore generiert und ein selbstsigniertes Zertifikat angelegt:

set path=%path%;%JAVA_HOME%\bin;

keytool -genkey -v -keyalg RSA -alias tomcat -keypass mypwd -storepass mypwd -dname 
	"CN=scherer-it.ch, OU=Web-Server, O=Scherer Informatik, L=Siselen, S=BE, C=CH" 
	-keystore /opt/jakarta-tomcat/conf/mykeystore.ks

keytool -selfcert -v -alias tomcat -keypass mypwd -storepass mypwd -dname 
	"CN=scherer-it.ch, OU=Web-Server, O=Scherer Informatik, L=Siselen, S=BE, C=CH" 
	-keystore /opt/jakarta-tomcat/conf/mykeystore.ks

Damit Tomcat SSL unterstützt muss noch ein entsprechender Connector im server.xml definiert werden. Beispiel:

<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 80 -->
<Connector port="80"
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="443" acceptCount="100"
    debug="0" connectionTimeout="20000" 
    disableUploadTimeout="true" />

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 443 -->
<Connector port="443" 
    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" disableUploadTimeout="true"
    acceptCount="100" debug="0" scheme="https" secure="true"
    keystorePass="mypwd" keystoreFile=
    "/opt/jakarta-tomcat/conf/mykeystore.ks"
    clientAuth="false" sslProtocol="TLS" />
Scherer Informatik Scherer Informatik GmbH Tel 032 396 39 05
Juchen 24A Fax 032 396 39 06
CH-2577 Siselen info(at)scherer-informatik.ch
Home Firma Dienstleistungen Preise Kontakt Infos Partnerbereich
JDBC und JavaDB
log4j Derby / JavaDB Tomcat Eclipse