IBM HTTP Server als Reverse Proxy für Rational DOORS Web Access konfigurieren

Sie können IBM HTTP Server als Reverse Proxy für Rational DOORS Web Access konfigurieren. Ein Reverse-Proxy-Server stellt eine zusätzliche Sicherheitsebene bereit, schützt HTTP-Server im Netz und verbessert die Leistung von SSL-Anforderungen. Wenn Sie einen Reverse Proxy verwenden, können Sie die Implementierungstopologie später nach Bedarf ändern.

Vorbereitende Schritte

  1. Installieren Sie Rational DOORS Web Access, aber starten Sie nicht die Komponenten oder den Server von Rational DOORS Web Access.
  2. Installieren Sie IBM HTTP Server.

Informationen zu diesem Vorgang

Ein Reverse-Proxy-Server ist ein besonderer HTTP-Server, der den direkten Zugriff auf den HTTP-Inhaltsserver verhindert. Alle Anforderungen für Inhalt werden über die öffentlich sichtbare URI des Reverse-Proxy-Servers geleitet und anschließend an die private URI des Rational DOORS Web Access-Servers umgeleitet.
Die Verwendung eines Reverse-Proxy-Servers bietet eine Reihe von Vorteilen:
  • Zukünftige Änderungen an der Implementierungstopologie: Wenn Sie in der Implementierung einen Reverse Proxy verwenden, können Sie in der öffentlichen URL einen Hostnamen angeben, der von der Anzahl der Maschinen und Portnummern unabhängig ist, die für die Anwendungen implementiert sind. Somit ist es möglich, die Implementierung später zu ändern.
  • Sicherheit: Der Reverse-Proxy-Server stellt eine zusätzliche Sicherheitsebene bereit und kann weitere HTTP-Server im Kommunikationsnetz schützen. Wenn Sie eine Firewall zwischen dem Reverse-Proxy-Server und dem HTTP-Inhaltsserver verwenden, können Sie die Firewall so konfigurieren, dass nur HTTP-Anforderungen vom Reverse-Proxy-Server zulässig sind.
  • Leistung: Sie können den Reverse-Proxy-Server mit einer SSL-Beschleunigungshardware ausstatten, die die Leistung von SSL-Anforderungen verbessern kann.
In der folgenden Prozedur führen Sie die folgenden Schritte aus:
  1. Vorbereiten des SSL-Keystores.
  2. Ändern der Datei httpd.conf.
  3. Starten von IBM HTTP Server.
  4. Starten der Rational DOORS Web Access-Komponenten.
  5. Starten des Rational DOORS Web Access-Servers.

Vorgehensweise

  1. Speichern Sie eine gültige SSL-Zertifikatsschlüsseldatei an einer Position auf dem System, auf die zugegriffen werden kann.
  2. Bearbeiten Sie zum Konfigurieren von IBM HTTP Server für die Verarbeitung von SSL-Anforderungen die Datei httpd.conf, die sich im Verzeichnis conf in der IBM HTTP Server-Installation befindet.
    1. Entfernen Sie die Kommentarzeichen für die folgenden Module:
      • LoadModule proxy_module modules/mod_proxy.so
      • LoadModule proxy_http_module modules/mod_proxy_http.so
      • LoadModule ibm_ssl_module modules/mod_ibm_ssl.so
    2. Wechseln Sie zum Abschnitt der SSL-Konfiguration und legen Sie die Details für den Anwendungsserver fest. Stellen Sie zusätzlich zu den Standardeinstellungen sicher, dass die folgenden Parameter wie im Beispiel im folgenden Schritt dargestellt festgelegt werden.
      • SSLProxyEngine
      • ProxyPass
      • ProxyPassReverse
    Anmerkung: In diesem Beispiel wird für den Proxy-Port, der für Endbenutzer sichtbar ist, der Wert 8443 festgelegt. Abhängig von Ihrer Umgebung kann für den Port, der für die Verwendung durch Apache Tomcat konfiguriert ist, ein abweichender Wert festgelegt werden, damit Portkonflikte vermieden werden.
    # Port aktivieren, der für SSL-Clientanforderungen empfangsbereit ist
    Listen 0.0.0.0:8443
    <VirtualHost *:8443>
    # Die Anweisung SSLEnable aktiviert SSL für den virtuellen Host.   
    SSLEnable
    
    # SSLProxyEngine schaltet abhängig von der Verwendung von SSL für Proxy-Verbindungen durch den Server hin und her.   
    # SSLProxyEngine 'on' ist erforderlich, wenn der Server als Reverse Proxy für eine SSL-Ressource verwendet wird.   
    # Hängt ab von mod_ibm_ssl.so
    SSLProxyEngine on
    
    # Die Anweisung SSLProtocolDisable ermöglicht das Angeben mindestens eines SSL-Protokolls, das
    # nicht vom Client für einen bestimmten virtuellen Host verwendet werden kann.   
    # Diese Anweisung muss sich in einem Container des Typs <VirtualHost> befinden.   
    # Unterstützte Protokolle für einen virtuellen Host werden separat unterstützt.   
    # Wenn alle unterstützten Protokolle inaktiviert sind, kann von Clients kein SSL-Handshake ausgeführt werden.   
    # Für diese Anweisung stehen die folgenden Werte zur Verfügung: SSLv2, SSLv3, TLS, TLSv1, TLSv1.1 und TLSv1.2
    SSLProtocolDisable SSLv2
    SSLProtocolDisable SSLv3
    
    # Die Schlüsseldateianweisung legt die Schlüsseldatei fest, die verwendet werden soll.   
    KeyFile <path to keystore>/<keystore filename>.kdb
    
    # Die Anweisung SSLStashfile gibt den Pfad zu der Datei mit dem Dateiname an, in dem das verschlüsselte
    # Kennwort zum Öffnen der PKCS11-Einheit enthalten ist.   
    # Hängt ab von mod_ibm_ssl.so
    SSLStashfile <path to stash file>/.<stash filename>.sth
    
    # Die Anweisung SSLServerCert legt das Serverzertifikat fest, das für diesen virtuellen Host verwendet werden soll.   
    # Hängt ab von mod_ibm_ssl.so
    SSLServerCert <ssl certificate label>
    
    # Diese Anweisung ermöglicht fernen Servern die Zuordnung im Bereich des lokalen Servers; der lokale
    # Server dient nicht als Proxy im herkömmlichen Sinn, ist jedoch ein Abbild des fernen Servers.   
    # <Path> ist der Name des lokalen virtuellen Pfads.   
    # <url> ist eine partielle URL für den fernen Server.   
    # ProxyPass <Path> <url>
    # Hinweis: Behalten Sie den abschließenden Schrägstrich bei.
    ProxyPass / https://<dwa tomcat host>:<dwa tomcat port>/
    
    # Diese Anweisung ermöglicht Apache die Anpassung der URL im Header für die Position bei HTTP-Umleitungsantworten.    
    # Diese Funktion ist unbedingt erforderlich, wenn Apache als Reverse Proxy verwendet wird, um das Umgehen des
    # Reverse Proxy aufgrund von HTTP-Umleitungen auf den Back-End-Server zu vermeiden, die sich hinter dem Reverse Proxy befinden.   
    # <Path> ist der Name des lokalen virtuellen Pfads.   
    # <url> ist eine partielle URL für den fernen Server - analog zu ihrer Verwendung für die Anweisung ProxyPass.   
    # ProxyPassReverse <Path> <url>
    # Hinweis: Behalten Sie den abschließenden Schrägstrich bei.
    ProxyPassReverse / https://<dwa tomcat host>:<dwa tomcat port>/
    
    # Von dieser Option wird der Host weitergegeben: Zeile von der eingehenden Anforderung zum Proxy-Host, anstatt
    # des privaten Hostnamens, der in der proxypass-Zeile angegeben ist.
    ProxyPreserveHost On
    
    </VirtualHost>
    
    # SSL für alle anderen virtuellen Hosts inaktivieren, sofern nicht explizit konfiguriert
    SSLDisable
  3. Starten Sie IBM HTTP Server.
  4. Starten Sie die Rational DOORS Web Access-Komponenten.
  5. Starten Sie den Rational DOORS Web Access-Server.
  6. Legen Sie die öffentliche URL und den Port von Rational DOORS Web Access zum Reverse-Proxy-Server durch Eingeben des folgenden dbadmin-Befehls fest:
    dbadmin -dwaHost url_des_reverse-proxy -dwaPort portnumber_des_reverse-proxy
    Weitere Informationen zum Befehl dbadmin finden Sie unter Rational DOORS-Datenbankserver konfigurieren.

Feedback