É possível configurar o IBM HTTP Server como um proxy reverso para o Rational DOORS Web Access. Um
servidor proxy reverso fornece uma camada extra de segurança, protege os servidores HTTP na
rede e melhora o desempenho de solicitações Secure Sockets Layer (SSL). Ao usar um
proxy reverso, é possível alterar sua topologia de implementação posteriormente, conforme necessário.
Antes de Iniciar
- Instale o Rational DOORS Web Access, mas não inicie os componentes ou servidor do Rational
DOORS Web Access.
- Instale o IBM HTTP Server.
Sobre Esta Tarefa
Um servidor proxy reverso é um servidor HTTP especial que evita o acesso direto ao
servidor HTTP de conteúdo. Todas as solicitações de conteúdo passam por um URI de servidor
proxy reverso publicamente visível e são, então, redirecionadas para o URI do servidor Rational DOORS Web Access
privado.
O uso de um servidor proxy reverso fornece várias vantagens:
- Mudanças futuras na topologia de implementação: Ao usar um proxy reverso em sua
implementação, é possível fornecer um nome de host em sua URL pública independentemente
de em quantas máquinas e números de porta os aplicativos são implementados. Como
resultado, é possível alterar sua topologia de implementação posteriormente.
- Segurança: O servidor proxy reverso fornece uma camada extra de segurança e
pode proteger outros servidores HTTP na rede de comunicação. Se você estiver
usando um firewall entre o servidor proxy reverso e o servidor HTTP de conteúdo,
é possível configurar o firewall para permitir somente solicitações de HTTP a partir
do servidor proxy reverso.
- Desempenho: É possível equipar o servidor proxy reverso com o hardware de aceleração SSL
que pode melhorar o desempenho de solicitações SSL.
Neste procedimento, execute estas etapas:
- Prepare o keystore SSL.
- Modifique o arquivo httpd.conf.
- Inicie o IBM HTTP Server.
- Inicie os componentes do Rational DOORS Web Access.
- Inicie o servidor Rational DOORS Web Access.
Procedimento
- Coloque um arquivo-chave do certificado SSL válido em um local acessível em seu
sistema.
- Para configurar o IBM HTTP Server para processar solicitações SSL, edite o
arquivo httpd.conf, que está no
diretório conf na instalação do
IBM HTTP Server.
- Remova o comentário destes módulos:
- 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
- Acesse a seção de configuração SSL e configure os detalhes de seu servidor de
aplicativos. Além das configurações padrão, assegure-se de que os parâmetros
a seguir estejam configurados, conforme mostrado no exemplo nesta etapa.
- SSLProxyEngine
- ProxyPass
- ProxyPassReverse
Nota: Neste exemplo, a porta de proxy que é visível aos usuários finais está configurada para
8443. Dependendo de seu ambiente, a porta que o Apache Tomcat está
configurado para usar pode ser configurada para um valor diferente para evitar conflitos
de porta.
# 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
- Inicie o IBM HTTP Server.
- Inicie os componentes do Rational DOORS Web Access.
- Inicie o servidor Rational DOORS Web Access.
- Configure a URL pública e a porta do Rational DOORS Web Access para o servidor proxy reverso,
inserindo o comando dbadmin:
dbadmin -dwaHost reverse_proxy_url -dwaPort reverse_proxy_portnumber
Para obter
mais informações sobre o comando dbadmin, consulte Configurando o
servidor de base de dados Rational DOORS.