Anforderungszuordnung

Der Proxy-Server verwendet die Zuordnung von Anforderungen, um eine HTTP-Anforderung einer in der Zelle implementierten Anwendung oder einer Routing-Regel zuzuordnen.

Im Gegensatz zum Web-Server Apache oder Caching-Proxy, die unstrukturierte Konfigurationsdateien mit Routing-Priorität verwenden, die an die Anforderung von Anweisungen gebunden ist, verwendet der Proxy-Server ein Verfahren, das darauf abzielt, die installierte Anwendung oder Routing-Regel, die mit einer Anforderung am meisten übereinstimmt, zu bestimmen. Der virtuelle Host oder die URI-Muster bestimmen die beste Übereinstimmung für ein Webmodul oder eine Routing-Regel. Für Anwendungen, die in Clustern implementiert werden, verwaltet der Proxy-Server die Affinität (SSL-ID, Cookie und URL-Umschreibung), ansonsten wird ein Round-Robin-Verfahren mit Wertigkeiten verwendet, um den Zielserver auszuwählen. Die folgenden Beispiele befassen sich mit verschiedenen Routing-Szenarien für Situationen, in denen Routing-Regeln und Anwendungen in derselben Zelle implementiert werden.

Proxy-Umgebung

Ein WebSphere-Proxy-Server mit dem Namen proxy1 ist in derselben Zelle aktiv wie die Anwendungen und die Routing-Regeln. Alle Anwendungen und Routing-Regeln werden in der Zelle für proxy1 aktiviert, und PROXY_HTTP_ADDRESS für proxy1 wird auf 80 gesetzt.

Virtueller Host Hostname Port
Standardhost (default_host) host1.company.com 80
  host1.company.com 9080
  * 80
proxy_host host2.company.com 80
  * 443
  * 80
server_host host3.company.com 80
URI-Gruppenname URI-Muster
ALL /*
ROOMS /kitchen/*, /bathroom/*, /bedroom/*
CONFLICT /WM2C/*
Name des generischen Server-Clusters Protokoll Host Port
CLUSTER1 HTTP webserver1.company.com 9081
    webserver2.company.com 9083
CLUSTER2 HTTP host47.company.com 8088
    host48.company.com 8088
CLUSTER2-SSL HTTPS host47.company.com 8443
    host48.company.com 8443
Name der Routing-Regel Virtueller Host URI-Gruppe Aktion
ALLTOCLUSTER1 proxy_host ALL Generischer Server-Cluster - CLUSTER1
ROOMTOCLUSTER2 proxy_host ROOMS Generischer Server-Cluster - CLUSTER2
ALLTOCLUSTER2 server_host ALL Generischer Server-Cluster - CLUSTER2
REDIRECTTOCONFLICT Standardhost (default_host) CONFLICT Umleiten - http://www.conflict.com
Anwendungsname Kontextstammverzeichnis Name des Webmoduls Virtueller Host URI-Muster für Webmodule
App1 /WM1A/ Web Mod A Standardhost (default_host) wm1a.jsp
  /WM1B/ Web Mod B Standardhost (default_host) wm1b.jsp
App2 /WM2C/ Web Mod C Standardhost (default_host) /*, wm2c.jsp
  /WM2D/ Web Mod D Standardhost (default_host) /*, wm2d.jsp
Beispiel 1: Basisanforderung
Der Proxy proxy1 empfängt die folgende Anforderung:
GET /WM1A/wm1a.jsp HTTP/1.1 
Host: host1.company.com

Ergebnis: Die Datei wm1a.jsp wird als Antwort gesendet. Die Routing-RegelALLTOCLUSTER1 ist eine mögliche Zuordnung, Web Mod A wird jedoch von proxy1 als beste Zuordnung ausgewählt, weil die Kombination des Kontextstammverzeichnisses und des URI-Musters /WM1A/wm1a.jsp eine bessere Zuordnung ist als /*. Web Mod A wird auch darum als beste Zuordnung ausgewählt, weil sein virtueller Host den Aliasnamen host1.company.com:80 enthält, der eine spezifischere Zuordnung ist als der Aliasname mit Platzhalterzeichen *:80.

Beispiel 2: Routing-Regeln, die dieselbe URI-Gruppe und verschiedene virtuelle Hosts verwenden
Der Proxy proxy1 empfängt die folgende Anforderung:
GET /index.html HTTP/1.1 
Host: host3.company.com

Ergebnis: Der Proxy proxy1 ordnet die Anforderung der Routing-Regel ALLTOCLUSTER2 zu, und eine Antwort wird von einem Server in CLUSTER2 empfangen. Die Routing-Regel ALLTOCLUSTER1 ist eine mögliche Zuordnung und kann die Anforderung verarbeiten, falls die Routing-Regel ALLTOCLUSTER2 nicht vorhanden war. Die Regel ALLTOCLUSTER2 ist jedoch die beste Zuordnung, da ihr virtueller Host (Server-Host) explizit host3.company.com auflistet.

Beispiel 3: Routing-Regeln, die denselben virtuellen host und verschiedene URI-Gruppen verwenden
Der Proxy proxy1 empfängt die folgende Anforderung:
GET /kitchen/sink.gif HTTP/1.1 
Host: host2.company.com

Ergebnis: Der Proxy proxy1 ordnet die Anforderung der Routing-Regel ROOMSTOCLUSTER2 zu, und ein Server aus dem Cluster CLUSTER2 sendet eine Antwort. Die Routing-Regel ALLTOCLUSTER1 ist eine mögliche Zuordnung, die Regel ROOMSTOCLUSTER2 ist jedoch die beste Zuordnung, da ihre URI-Gruppe das Muster /kitchen/* enthält, die eine bessere Zuordnung für den Anforderungs-URI /kitchen/sink.gif ist.

Beispiel 4: Konflikte in der Routing-Regel zwischen der URI-Gruppe und dem URI-Muster eines Webmoduls, das denselben virtuellen Host verwendet.
Der Proxy proxy1 empfängt die folgende Anforderung:
GET /WM2C/index.html HTTP/1.1 
Host: host1.company.com

Das Ergebnis ist unbestimmt. Es ist nicht bekannt, ob Web Mod C oder die Routing-Regel REDIRECTTOCONFLICT die Anforderung verarbeitet, da sie denselben virtuellen Host und dasselbe URI-Muster verwenden. In solchen Fällen wird die Nachricht ID DWCT0007E in der Datei SystemOut.log für den Proxy proxy1 angezeigt. In diesem Beispiel kann man das Problem dadurch lösen, dass man die Routing-Regel REDIRECTTOCONFLICT ändert und einen anderen virtuellen Host verwendet.

Anmerkung: Dieser Artikel referenziert eine oder mehrere Protokolldateien des Anwendungsservers. Alternativ dazu wird empfohlen, den Server so zu konfigurieren, dass er die HPEL-Protokoll- und -Traceinfrastruktur (High Performance Extensible Logging) verwendet und nicht die Dateien SystemOut.log , SystemErr.log, trace.log und activity.log auf verteilten oder IBM® i-Systemen. Sie können HPEL auch in Verbindung mit Ihren nativen z/OS-Protokolleinrichtungen verwenden. Wenn Sie HPEL verwenden, können Sie mit dem Befehlszeilentool LogViewer im Verzeichnis "bin" des Serverprofils auf alle Ihre Protokoll- und Tracedaten zugreifen. Weitere Informationen zur Verwendung von HPEL finden Sie in der Dokumentation zum Einsatz von HPEL für die Fehlerbehebung in Anwendungen.
Beispiel 5: Die Adresse PROXY_HTTP_ADDRESS befindet sich nicht im virtuellen Host.
Nehmen Sie an, dass die Proxy-Adresse von proxy1, PROXY_HTTP_ADDRESS, in 81, während alle anderen Konfigurationsdaten gleich bleiben. Der Proxy proxy1 empfängt die folgende Anforderung:
GET /index.html HTTP/1.1 
Host: host1.company.com:81

Ergebnis: Der Proxy proxy1 kann die Anforderung nicht verarbeiten, weil die Adresse PROXY_HTTP_ADDRESS in keinem virtuellen Host verfügbar ist, und sendet eine Antwort des Typs HTTP 404 zurück an den Client.


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjpx_reqmap
Dateiname:cjpx_reqmap.html