IBM HTTP Server を Rational DOORS Web Access のリバース・プロキシーとして構成することができます。
リバース・プロキシー・サーバーは、追加のセキュリティー層を提供し、ネットワーク内の HTTP サーバーを保護し、Secure Sockets Layer (SSL) 要求のパフォーマンスを向上させます。
リバース・プロキシーを使用すると、後で必要に応じてデプロイメント・トポロジーを変更できます。
始める前に
- Rational DOORS Web Access をインストールしますが、Rational DOORS Web Access コンポーネントまたはサーバーは開始しません。
- IBM HTTP Server をインストールします。
このタスクについて
リバース・プロキシー・サーバーは、コンテンツ HTTP サーバーに対する直接アクセスを防ぐ、特殊な HTTP サーバーです。
コンテンツに対する要求はすべて、パブリックに可視であるリバース・プロキシー・サーバー URI を経由し、プライベート Rational DOORS Web Access サーバー URI にリダイレクトされます。
リバース・プロキシー・サーバーを使用すると、以下のような利点があります。
- 将来のデプロイメント・トポロジーの変更: デプロイメントでリバース・プロキシーを使用すると、アプリケーションがデプロイされるマシン数やポート番号には無関係に、単一のホスト名をパブリック URL に指定できます。
その結果、後でデプロイメント・トポロジーを変更することが可能になります。
- セキュリティー: リバース・プロキシー・サーバーは、追加のセキュリティー層を提供し、通信ネットワーク内の他の HTTP サーバーを保護することができます。
リバース・プロキシー・サーバーとコンテンツ HTTP サーバーとの間でファイアウォールを使用している場合は、リバース・プロキシー・サーバーからの HTTP 要求のみを許可するようにファイアウォールを構成できます。
- パフォーマンス: SSL 要求のパフォーマンスを向上させる SSL 加速ハードウェアをリバース・プロキシー・サーバーに装備することができます。
この手順では、以下を行います。
- SSL 鍵ストアを準備します。
- httpd.conf ファイルを変更します。
- IBM HTTP Server を始動します。
- Rational DOORS Web Access コンポーネントを始動します。
- Rational DOORS Web Access サーバーを始動します。
手順
- 有効な SSL 証明書鍵ファイルを、ご使用のシステム上のアクセス可能な場所に配置します。
- SSL 要求を処理するように IBM HTTP Server を構成するには、httpd.conf ファイルを編集します。
このファイルは、IBM HTTP Server インストール済み環境内の conf ディレクトリーにあります。
- 以下のモジュールのコメントを外します。
- 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
- 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
- IBM HTTP Server を始動します。
- Rational DOORS Web Access コンポーネントを始動します。
- Rational DOORS Web Access サーバーを始動します。
- 次の dbadmin コマンドを入力して、Rational DOORS Web Access パブリック URL およびポートをリバース・プロキシー・サーバーに設定します。
dbadmin -dwaHost reverse_proxy_url -dwaPort reverse_proxy_portnumber
dbadmin コマンドについて詳しくは、『Rational DOORS データベース・サーバーの構成』を参照してください。