Configurando o IBM HTTP Server como um proxy reverso para o Rational DOORS Web Access

É 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

  1. Instale o Rational DOORS Web Access, mas não inicie os componentes ou servidor Rational DOORS Web Access.
  2. 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:
  1. Preparar o keystore SSL.
  2. Modificar o arquivo httpd.conf.
  3. Iniciar o IBM HTTP Server.
  4. Iniciar componentes do Rational DOORS Web Access.
  5. Iniciar o servidor Rational DOORS Web Access.

Procedimento

  1. Coloque um arquivo-chave de certificado SSL válido em um local acessível em seu sistema.
  2. 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.
    1. 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
    2. 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
  3. Iniciar o IBM HTTP Server.
  4. Iniciar componentes do Rational DOORS Web Access.
  5. Iniciar o servidor Rational DOORS Web Access.
  6. 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.

Feedback