É 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 servidores HTTP na
rede e melhora o desempenho das solicitações Secure Sockets Layer (SSL). Quando você
uma 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 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 depois são redirecionadas para o URI do Rational DOORS Web Access server
particular.
O uso de um servidor proxy reverso fornece várias vantagens:
- Mudanças futuras na topologia de implementação: Quando você usa um proxy reservo em sua
implementação, é possível fornecer um nome de host em sua URL pública,
independentemente da quantidade de máquinas e números de porta em que os
aplicativos estã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 do servidor proxy reverso.
- Desempenho: É possível equipar o servidor proxy reverso com hardware de aceleração SSL
que possa melhorar o desempenho de suas solicitações SSL.
Neste procedimento, você executa estas etapas:
- Preparar o keystore SSL.
- Modificar o arquivo httpd.conf.
- Iniciar o IBM HTTP Server.
- Iniciar componentes do Rational DOORS Web Access.
- Iniciar o servidor Rational DOORS Web Access.
Procedimento
- Coloque um arquivo-chave de 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 os comentários 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 do seu ambiente, a porta que o Apache Tomcat está
configurado para usar pode ser definida para um valor diferente para
evitar conflitos de porta.
# Ative a porta que atende solicitações SSL do cliente
Listen 0.0.0.0:8443
<VirtualHost *:8443>
# A diretiva SSLEnable ativa SSL para o host virtual.
SSLEnable
# O SSLProxyEngine será alternado se o servidor usar SSL para conexões proxy.
# SSLProxyEngine on será requerido se o servidor estiver agindo como um proxy reverso para um recurso SSL.
# Depende de mod_ibm_ssl.so
SSLProxyEngine on
# A diretiva SSLProtocolDisable permite especificar um ou mais protocolos SSL que não podem ser
# usados pelo cliente para um host virtual específico.
# A diretiva deve estar localizada em um contêiner <VirtualHost>.
# Os protocolos suportados para um host virtual são suportados separadamente.
# Se todos os protocolos suportados forem desativados, os clientes não poderão concluir um handshake SSL.
# Os valores possíveis a seguir estão disponíveis para esta diretiva: SSLv2, SSLv3, TLS, TLSv1, TLSv1.1, TLSv1.2
SSLProtocolDisable SSLv2
SSLProtocolDisable SSLv3
# A diretiva de arquivo-chave configura o arquivo-chave a ser usado.
KeyFile <path to keystore>/<keystore filename>.kdb
# A diretiva SSLStashfile indica o caminho para o arquivo com o nome de arquivo contendo a senha criptografada
# para abrir o dispositivo PKCS11.
# Depende de mod_ibm_ssl.so
SSLStashfile <path to stash file>/.<stash filename>.sth
# A diretiva SSLServerCert configura o certificado do servidor a ser usado para este host virtual.
# Depende de mod_ibm_ssl.so
SSLServerCert <ssl certificate label>
# Esta diretiva permite que servidores remotos sejam mapeados para o espaço do servidor local; o servidor local
# não age como um proxy no sentido convencional, mas aparece como um espelho do servidor remoto.
# <Path> é o nome de um caminho virtual local.
# <url> é uma URL parcial para o servidor remoto.
# ProxyPass <Path> <url>
# Nota: Mantenha a barra final
ProxyPass / https://<dwa tomcat host>:<dwa tomcat port>/
# Esta diretiva permite que o Apache ajuste a URL no cabeçalho Location nas respostas de redirecionamento HTTP.
# Esta capacidade é essencial quando o Apache é usado como um proxy reverso para evitar bypass
# no proxy reverso devido aos redirecionamentos HTTP em servidores backend, que ficam atrás do proxy reverso.
# <Path> é o nome de um caminho virtual local.
# <url> é uma URL parcial para o servidor remoto - da mesma forma que é usada para a diretiva ProxyPass.
# ProxyPassReverse <Path> <url>
# Nota: Mantenha a barra final
ProxyPassReverse / https://<dwa tomcat host>:<dwa tomcat port>/
# Esta opção passará a linha Host: da solicitação recebida para o host proxy, e não
# nome do host particular especificado na linha proxypass.
ProxyPreserveHost On
</VirtualHost>
# Desative o SSL para todos os outros hosts virtuais, a menos que se tenha configurado explicitamente
SSLDisable
- Iniciar o IBM HTTP Server.
- Iniciar componentes do Rational DOORS Web Access.
- Iniciar o servidor Rational DOORS Web Access.
- Configure a porta e a URL pública do Rational DOORS Web Access para o servidor proxy reverso
inserindo este 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.