Vous pouvez configurer IBM HTTP Server en tant que proxy inverse pour Rational DOORS Web Access. Un serveur proxy inverse fournit une couche de sécurité supplémentaire, protège les serveurs HTTP sur le réseau et améliore
les performances des requêtes SSL (Secure Sockets Layer). Lorsque vous utilisez
un proxy inverse, vous pouvez modifier votre topologie de déploiement ultérieurement, si nécessaire.
Avant de commencer
- Installez Rational DOORS Web Access, mais ne démarrez pas les composants ou le serveur Rational DOORS Web Access.
- Installez IBM HTTP Server.
Pourquoi et quand exécuter cette tâche
Un serveur proxy inverse est un serveur HTTP spécial qui empêche l'accès direct au
serveur HTTP de contenu. Toutes les demandes de contenu passent par un identificateur URI de serveur proxy inverse visible publiquement et sont ensuite redirigées vers l'identificateur URI privé du serveur Rational DOORS Web Access.
L'utilisation d'un serveur proxy inverse présente divers avantages :
- Modifications ultérieures de la topologie de déploiement : Lorsque vous utilisez un proxy inverse dans votre
déploiement, vous pouvez fournir un nom d'hôte dans votre URL publique, quel que soit le
nombre de machines et de numéros de port sur lesquels sont déployées les applications. Vous pouvez donc
modifier votre topologie de déploiement ultérieurement.
- Sécurité : Le serveur proxy inverse fournit une couche de sécurité supplémentaire et peut protéger
d'autres serveurs HTTP du réseau de communication. Si vous utilisez un pare-feu
entre le serveur proxy inverse et le serveur HTTP de contenu, vous pouvez
configurer le pare-feu pour n'autoriser que les requêtes HTTP provenant du serveur
proxy inverse.
- Performance : Vous pouvez équiper le serveur proxy inverse d'un matériel d'accélération SSL
qui permet d'améliorer la performance des requêtes SSL.
Dans cette procédure, effectuez les étapes suivantes :
- Préparez le magasin de clés SSL.
- Modifiez le fichier httpd.conf.
- Démarrez IBM HTTP Server.
- Démarrez les composants Rational DOORS Web Access.
- Démarrez le serveur Rational DOORS Web Access.
Procédure
- Placez un fichier de clés de certificat SSL valide dans un emplacement accessible sur votre système.
- Pour configurer IBM HTTP Server pour traiter des requêtes SSL, modifiez le fichier
httpd.conf qui se trouve dans le répertoire
conf de l'installation IBM HTTP Server.
- Supprimez la mise en commentaire des modules suivants :
- 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
- Accédez à la section sur la configuration SSL et définissez les détails de votre serveur d'application. En plus des paramètres standard, vérifiez que les paramètres suivants sont définis, comme indiqué dans l'exemple de cette étape.
- SSLProxyEngine
- ProxyPass
- ProxyPassReverse
Remarque : Dans cet exemple, le port proxy visible aux utilisateurs finaux est défini sur
8443. Selon votre environnement, le port pour lequel Apache Tomcat est
configuré peut être défini sur une valeur différente pour éviter des conflits
de port.
# 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
- Démarrez IBM HTTP Server.
- Démarrez les composants Rational DOORS Web Access.
- Démarrez le serveur Rational DOORS Web Access.
- Définissez l'URL publique Rational DOORS Web Access et le port sur le serveur proxy inverse
en entrant la commande dbadmin suivante :
dbadmin -dwaHost reverse_proxy_url -dwaPort reverse_proxy_portnumber
Pour plus
d'informations sur la commande dbadmin, voir Configuring the Rational DOORS database server.