Benutzerhandbuch
Version 1.9 — Rev. 3

# Java-Web-App-Kontext

#### Beschreibung

Viele Betreiber von Java-Anwendungen verwenden die Servlet-Engine auch zum Bereitstellen statischer Inhalte. Keine Servlet-Engine ist fuer diese Aufgaben jedoch annaehend so effizient wie LiteSpeed Web Server. Um die Gesamtleistung zu verbessern, kann LiteSpeed Web Server als Gateway-Server konfiguriert werden, der statische Inhalte ausliefert und dynamische Java-Seitenanfragen an die Servlet-Engine weiterleitet.
LiteSpeed Web Server benoetigt bestimmte Kontexte, um eine Java-Anwendung auszufuehren. Ein Java-Web-App-Kontext erstellt automatisch alle erforderlichen Kontexte auf Basis der Konfigurationsdatei der Java-Webanwendung (WEB-INF/web.xml).
Beachten Sie beim Einrichten eines Java-Web-App-Kontexts folgende Punkte:

- Eine externe Anwendung Servlet Engine muss unter Externe Anwendungen eingerichtet sein, bevor ein Java-Web-App-Kontext erstellt werden kann.
- Ein Skript-Handler fuer .jsp-Dateien sollte ebenfalls definiert sein.
- Wenn die Webanwendung in einer .war-Datei gepackt ist, muss diese Datei entpackt werden. Der Server kann nicht auf komprimierte Archivdateien zugreifen.
- Fuer dieselben Ressourcen sollte dieselbe URL verwendet werden, unabhaengig davon, ob der Zugriff ueber LiteSpeed Web Server oder ueber den integrierten HTTP-Server der Servlet-Engine erfolgt.
  Beispiel: Tomcat 4.1 ist unter /opt/tomcat installiert. Die Dateien der Webanwendung "examples" befinden sich unter /opt/tomcat/webapps/examples/. Ueber den integrierten HTTP-Server von Tomcat wird die Webanwendung "examples" daher mit einer URI wie "/examples/***" aufgerufen. Der entsprechende Java-Web-App-Kontext sollte somit wie folgt konfiguriert werden: URI = /examples/, Speicherort = /opt/tomcat/webapps/examples/.

### URI

#### Beschreibung

Gibt die URI fuer diesen Kontext an. Die URI sollte mit "/" beginnen. Wenn eine URI mit "/" endet, umfasst dieser Kontext alle Unter-URIs unter dieser URI.

#### Syntax

URI

### Speicherort

#### Beschreibung

Gibt das Verzeichnis an, das die Dateien fuer diese Webanwendung enthaelt. Dies ist das Verzeichnis mit "WEB-INF/web.xml".
Standardwert: $DOC_ROOT + URI

#### Syntax

Pfad

### Servlet-Engine

#### Beschreibung

Gibt den Namen der Servlet-Engine an, die diese Webanwendung bereitstellt. Servlet-Engines muessen im Abschnitt Externe Anwendungen auf Server- oder Virtual-Host-Ebene definiert werden.

#### Syntax

Aus Dropdown-Liste auswählen

### Expires aktivieren

#### Beschreibung

Gibt an, ob fuer statische Dateien ein Expires-Header erzeugt werden soll. Wenn aktiviert, wird ein Expires-Header basierend auf Expires-Standard und Expires nach Typ erzeugt.
Dies kann auf Server-, Virtual-Host- und Kontextebene gesetzt werden. Einstellungen niedrigerer Ebenen ueberschreiben hoehere Ebenen, d. h. Kontexteinstellungen ueberschreiben Virtual-Host-Einstellungen und Virtual-Host-Einstellungen ueberschreiben Servereinstellungen.

#### Syntax

Aus Optionsfeldern auswählen

### Expires-Standard

#### Beschreibung

Gibt Standardeinstellungen fuer die Erzeugung des Expires-Headers an. Diese Einstellung wird wirksam, wenn Expires aktivieren auf "Yes" gesetzt ist. Sie kann durch Expires nach Typ ueberschrieben werden. Setzen Sie diesen Standardwert nicht auf Server- oder Virtual-Host-Ebene, sofern es nicht noetig ist, da er Expires-Header fuer alle Seiten erzeugt. Meist sollte dies auf Kontextebene fuer bestimmte Verzeichnisse gesetzt werden, die sich nicht haeufig aendern. Gibt es keine Standardeinstellung, wird fuer nicht in Expires nach Typ angegebene Typen kein Expires-Header erzeugt.

#### Syntax

A|Mseconds
Die Datei laeuft nach Basiszeit (A|M) plus angegebenen Sekunden ab. Basiszeit "A" setzt den Wert auf die Zugriffszeit des Clients und "M" auf die letzte Aenderungszeit der Datei.

### Expires nach Typ

#### Beschreibung

Gibt Expires-Header-Einstellungen fuer einzelne MIME-Typen an.

#### Syntax

Kommagetrennte Liste von "MIME-type=A|Mseconds". Die Datei laeuft nach Basiszeit (A|M) plus angegebenen Sekunden ab.
Basiszeit "A" setzt den Wert auf die Zugriffszeit des Clients und "M" auf die letzte Aenderungszeit der Datei. MIME-type akzeptiert den Platzhalter "*", zum Beispiel image/*.

### Header-Operationen

#### Beschreibung

Gibt zusaetzliche Antwort-/Anfrage-Header an, die hinzugefuegt werden sollen. Mehrere Header-Direktiven koennen mit einer Direktive pro Zeile angegeben werden. "NONE" deaktiviert die Vererbung uebergeordneter Header. Wenn keine Direktive angegeben ist, wird 'Header' angenommen.

#### Syntax

[Header]|RequestHeader [condition] set|append|merge|add|unset header [value] [early|env=[!]variable]

#### Beispiel

set Cache-control no-cache
append Cache-control no-store
Header set My-header cust_header_val
RequestHeader set My-req-header cust_req_header_val

#### Tipps

Information Syntax und Verwendung entsprechen den Apache mod_headers-Direktiven fuer unterstuetzte Operationen.
Information Die Direktive 'Header' ist optional und kann beim Kopieren von Regeln ohne Problem entfernt oder beibehalten werden.

### Automatischer Index

#### Beschreibung

Gibt an, ob ein Verzeichnisindex dynamisch erzeugt wird, wenn die in Indexdateien aufgeführten Indexdateien in einem Verzeichnis nicht verfügbar sind. Diese Option kann auf Virtual-Host- und Kontextebene angepasst werden und wird entlang des Verzeichnisbaums vererbt, bis sie ausdrücklich überschrieben wird. Sie können die erzeugte Indexseite anpassen. Lesen Sie dazu die Online-Wiki-How-tos.

#### Syntax

Aus Optionsfeldern auswählen

#### Tipps

Security Es wird empfohlen, den automatischen Index nach Möglichkeit zu deaktivieren, um die Offenlegung vertraulicher Daten zu verhindern.

#### Siehe auch

Indexdateien, URI für automatischen Index

### Indexdateien

#### Beschreibung

Gibt die Namen von Indexdateien an, die nacheinander gesucht werden, wenn eine URL einem Verzeichnis zugeordnet wird. Sie koennen dies auf Server-, Virtual-Host- und Kontextebene anpassen.

#### Syntax

Kommagetrennte Liste von Indexdateinamen.

#### Tipps

Performance Legen Sie nur die Indexdateien fest, die Sie benoetigen.

### Realm

#### Beschreibung

Gibt den Autorisierungs-Realm fuer diesen Kontext an. Wenn angegeben, muessen ein gueltiger Benutzername und ein Passwort angegeben werden, um auf diesen Kontext zuzugreifen. Autorisierungs-Realms werden im Abschnitt Virtueller Host - Sicherheit eingerichtet. Diese Einstellung verwendet Realm-Name jedes Realms.

#### Syntax

Aus Dropdown-Liste auswählen

### Authentifizierungsname

#### Beschreibung

Gibt einen alternativen Namen fuer den Autorisierungs-Realm des aktuellen Kontextes an. Wenn nicht angegeben, wird der urspruengliche Realm-Name verwendet. Der Authentifizierungsname wird im Login-Popup des Browsers angezeigt.

### Require (autorisierte Benutzer/Gruppen)

#### Beschreibung

Gibt an, welche Benutzer/Gruppen auf diesen Kontext zugreifen duerfen. Dadurch koennen Sie eine Benutzer-/Gruppendatenbank (angegeben in Realm) fuer mehrere Kontexte verwenden, aber nur bestimmte Benutzer/Gruppen daraus fuer diesen Kontext zulassen.

#### Syntax

Die Syntax ist mit der Apache-Require-Direktive kompatibel. Zum Beispiel:

- user username [username ...]
  Nur aufgelistete Benutzer koennen auf diesen Kontext zugreifen.
- group groupid [groupid ...]
  Nur Benutzer, die zu den aufgelisteten Gruppen gehoeren, koennen auf diesen Kontext zugreifen.

Wenn diese Einstellung nicht angegeben ist, duerfen alle gueltigen Benutzer auf diese Ressource zugreifen.

### Zugriff erlaubt

#### Beschreibung

Gibt an, welche IPs oder Subnetze auf Ressourcen unter diesem Kontext zugreifen duerfen. Zusammen mit Zugriff verweigert und der Zugriffskontrolle auf Server-/Virtual-Host-Ebene wird die Zugaenglichkeit durch den kleinsten Bereich bestimmt, in den die IP-Adresse des Clients faellt.

#### Syntax

Kommagetrennte Liste von IPs/Subnetzen.

#### Beispiel

Subnetze koennen als 192.168.1.0/255.255.255.0, 192.168.1 oder 192.168.1.* geschrieben werden.

### Zugriff verweigert

#### Beschreibung

Gibt an, welche IPs oder Subnetze NICHT auf Ressourcen unter diesem Kontext zugreifen duerfen. Zusammen mit Zugriff erlaubt und der Zugriffskontrolle auf Server-/Virtual-Host-Ebene wird die Zugaenglichkeit durch den kleinsten Bereich bestimmt, in den die IP-Adresse des Clients faellt.

#### Syntax

Kommagetrennte Liste von IPs/Subnetzen.

#### Beispiel

Subnetze koennen als 192.168.1.0/255.255.255.0, 192.168.1 oder 192.168.1.* geschrieben werden.

### Authorizer

#### Beschreibung

Gibt eine externe Anwendung an, die autorisiert/nicht autorisiert-Entscheidungen erzeugen kann. Derzeit ist nur der FastCGI Authorizer verfuegbar. Weitere Details zur Rolle FastCGI Authorizer finden Sie unter https://fastcgi-archives.github.io/ .

#### Syntax

Aus Dropdown-Liste auswählen

### Standard-Charset hinzufuegen

#### Beschreibung

Gibt an, ob dem Antwort-Header "Content-Type" ein Zeichensatz-Tag hinzugefuegt werden soll, wenn der Content-Type entweder "text/html" oder "text/plain" ohne Parameter ist. Bei Off ist diese Funktion deaktiviert. Bei On wird entweder der durch Angepasster Standard-Charset angegebene Zeichensatz oder der Standard "iso-8859-1" hinzugefuegt.

#### Syntax

Aus Optionsfeldern auswählen

### Angepasster Standard-Charset

#### Beschreibung

Gibt einen Zeichensatz an, der verwendet wird, wenn Standard-Charset hinzufuegen auf On steht. Dies ist optional. Standardwert ist iso-8859-1. Dieser Eintrag hat keine Wirkung, wenn Standard-Charset hinzufuegen auf Off steht.

#### Syntax

Name eines Zeichensatzes.

#### Beispiel

utf-8

### GeoLocation-Suche aktivieren

#### Beschreibung

Gibt an, ob die IP-Geolocation-Suche aktiviert/deaktiviert werden soll. Kann auf Server-, Virtual-Host- oder Kontextebene gesetzt werden. IP Geolocation ist standardmaessig deaktiviert, wenn der Wert "Not Set" verwendet wird.

#### Syntax

Aus Optionsfeldern auswählen

#### Siehe auch

Client-IP im Header verwenden, DB-Dateipfad,