Configurando o IBM HTTP Server como um proxy reverso para o DWA

É possível configurar o IBM HTTP Server como um proxy reverso para o IBM® Engineering Requirements Management DOORS - Web Access (DWA). 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 DWA, mas não inicie os componentes ou o servidor do DWA.
  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 são, então, redirecionadas para o URI do servidor privado do DWA.
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 os componentes do DWA.
  5. Iniciar o servidor DWA.

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 às solicitações SSL do cliente
    Listen 0.0.0.0:8443
    <VirtualHost *:8443>
    # A diretiva SSLEnable ativa o 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 de back-end, 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. Inicie o IBM HTTP Server.
  4. Inicie os componentes do DWA.
  5. Inicie o servidor DWA.
  6. Configure a URL pública do DWA e a porta 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 banco de dados do DOORS.

ícone de vídeo Vídeo

Canal Jazz.net
Canal Software Education

ícone de aprendizado Cursos

IoT Academy
Skills Gateway

ícone de pergunta Comunidade

Jazz.net
Fóruns do Jazz.net
Biblioteca do Jazz.net

ícone de suporte Suporte

Comunidade de suporte IBM
Wiki de implementação