IBM HTTP Server を Rational DOORS Web Access のリバース・プロキシーとして構成

IBM HTTP Server を Rational DOORS Web Access のリバース・プロキシーとして構成することができます。 リバース・プロキシー・サーバーは、追加のセキュリティー層を提供し、ネットワーク内の HTTP サーバーを保護し、Secure Sockets Layer (SSL) 要求のパフォーマンスを向上させます。 リバース・プロキシーを使用すると、後で必要に応じてデプロイメント・トポロジーを変更できます。

始める前に

  1. Rational DOORS Web Access をインストールしますが、Rational DOORS Web Access コンポーネントまたはサーバーは開始しません。
  2. IBM HTTP Server をインストールします。

このタスクについて

リバース・プロキシー・サーバーは、コンテンツ HTTP サーバーに対する直接アクセスを防ぐ、特殊な HTTP サーバーです。 コンテンツに対する要求はすべて、パブリックに可視であるリバース・プロキシー・サーバー URI を経由し、プライベート Rational DOORS Web Access サーバー URI にリダイレクトされます。
リバース・プロキシー・サーバーを使用すると、以下のような利点があります。
  • 将来のデプロイメント・トポロジーの変更: デプロイメントでリバース・プロキシーを使用すると、アプリケーションがデプロイされるマシン数やポート番号には無関係に、単一のホスト名をパブリック URL に指定できます。 その結果、後でデプロイメント・トポロジーを変更することが可能になります。
  • セキュリティー: リバース・プロキシー・サーバーは、追加のセキュリティー層を提供し、通信ネットワーク内の他の HTTP サーバーを保護することができます。 リバース・プロキシー・サーバーとコンテンツ HTTP サーバーとの間でファイアウォールを使用している場合は、リバース・プロキシー・サーバーからの HTTP 要求のみを許可するようにファイアウォールを構成できます。
  • パフォーマンス: SSL 要求のパフォーマンスを向上させる SSL 加速ハードウェアをリバース・プロキシー・サーバーに装備することができます。
この手順では、以下を行います。
  1. SSL 鍵ストアを準備します。
  2. httpd.conf ファイルを変更します。
  3. IBM HTTP Server を始動します。
  4. Rational DOORS Web Access コンポーネントを始動します。
  5. Rational DOORS Web Access サーバーを始動します。

手順

  1. 有効な SSL 証明書鍵ファイルを、ご使用のシステム上のアクセス可能な場所に配置します。
  2. SSL 要求を処理するように IBM HTTP Server を構成するには、httpd.conf ファイルを編集します。 このファイルは、IBM HTTP Server インストール済み環境内の conf ディレクトリーにあります。
    1. 以下のモジュールのコメントを外します。
      • 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. SSL 構成セクションに進み、ご使用のアプリケーション・サーバー詳細を設定します。 標準の設定に加えて、このステップの例に示されているように、以下のパラメーターを設定する必要があります。
      • SSLProxyEngine
      • ProxyPass
      • ProxyPassReverse
    注: この例では、エンド・ユーザーに対して可視であるプロキシー・ポートは 8443 に設定されています。 ご使用の環境に応じて、Apache Tomcat を構成する場合に使用対象となるポートは、ポート競合を避けるために別の値に設定される場合があります。
    # Enable the port that listens for client SSL requests
    Listen 0.0.0.0:8443
    <VirtualHost *:8443>   
    # The SSLEnable directive enables SSL for the virtual host.   
    SSLEnable     
    
    # The SSLProxyEngine toggles whether the server uses SSL for proxied connections.   
    # SSLProxyEngine on is required if your server is acting as a reverse proxy for an SSL resource.   
    # Depends on mod_ibm_ssl.so   
    SSLProxyEngine on    
    
    # The SSLProtocolDisable directive enables you to specify one or more SSL protocols which cannot be 
    # used by the client for a specific virtual host.   
    # This directive must be located in a <VirtualHost> container.   
    # Supported protocols for a virtual host are supported separately.   
    # If all supported protocols are disabled, clients cannot complete an SSL handshake.   
    # The following possible values are available for this directive: SSLv2, SSLv3, TLS, TLSv1, TLSv1.1, TLSv1.2        
    SSLProtocolDisable SSLv2  
    SSLProtocolDisable SSLv3   
    
    # The keyfile directive sets the key file to use.   
    KeyFile <path to keystore>/<keystore filename>.kdb      
    
    # The SSLStashfile directive indicates path to file with file name containing the encrypted password 
    # for opening the PKCS11 device.   
    # Depends on mod_ibm_ssl.so   
    SSLStashfile <path to stash file>/.<stash filename>.sth     
    
    # The SSLServerCert directive sets the server certificate to use for this virtual host.   
    # Depends on mod_ibm_ssl.so  
    SSLServerCert <ssl certificate label>    
    
    # This directive allows remote servers to map into the space of the local server; the local server 
    # does not act as a proxy in the conventional sense, but appears as a mirror of the remote server.   
    # <Path> is the name of a local virtual path.   
    # <url> is a partial URL for the remote server.   
    # ProxyPass <Path> <url>   
    # Note: Retain the trailing slash   
    ProxyPass / https://<dwa tomcat host>:<dwa tomcat port>/     
    
    # This directive lets Apache adjust the URL in the Location header on HTTP redirect responses.    
    # This capability is essential when Apache is used as a reverse proxy, to avoid bypassing the reverse 
    # proxy because of HTTP redirects on the backend servers, which stay behind the reverse proxy.   
    # <Path> is the name of a local virtual path.   
    # <url> is a partial URL for the remote server - the same way they are used for the ProxyPass directive.   
    # ProxyPassReverse <Path> <url>   
    # Note: Retain the trailing slash   
    ProxyPassReverse / https://<dwa tomcat host>:<dwa tomcat port>/  
    
    # This option will pass the Host: line from the incoming request to the proxied host, instead of the 
    # private hostname specified in the proxypass line.  
    ProxyPreserveHost On
    
    </VirtualHost>
    
    # Disable SSL for all other virtual hosts unless explicitly configured
    SSLDisable
  3. IBM HTTP Server を始動します。
  4. Rational DOORS Web Access コンポーネントを始動します。
  5. Rational DOORS Web Access サーバーを始動します。
  6. 次の dbadmin コマンドを入力して、Rational DOORS Web Access パブリック URL およびポートをリバース・プロキシー・サーバーに設定します。
    dbadmin -dwaHost reverse_proxy_url -dwaPort reverse_proxy_portnumber
    dbadmin コマンドについて詳しくは、『Rational DOORS データベース・サーバーの構成』を参照してください。

フィードバック