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 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

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

Procedimento

  1. Coloque um arquivo-chave do 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 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
    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 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
  3. Inicie o IBM HTTP Server.
  4. Inicie os componentes do Rational DOORS Web Access.
  5. Inicie o servidor Rational DOORS Web Access.
  6. 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.

Feedback