IBM HTTP Server를 Rational DOORS Web Access의 역방향 프록시로 구성

IBM HTTP Server를 Rational DOORS Web Access의 역방향 프록시로 구성할 수 있습니다. 역방향 프록시 서버는 여분의 보안 계층을 제공하고, 네트워크에서 HTTP 서버를 보호하며, SSL(Secure Sockets Layer) 요청의 성능을 향상합니다. 역방향 프록시를 사용할 때 필요에 따라 배치 토폴로지를 나중에 변경할 수 있습니다.

시작하기 전에

  1. Rational DOORS Web Access를 설치하되Rational DOORS Web Access 컴포넌트 또는 서버를 시작하지 마십시오.
  2. IBM HTTP Server를 설치하십시오.

이 태스크 정보

역방향 프록시 서버는 컨텐츠 HTTP 서버에 대한 직접 액세스를 방지하는 특수 HTTP 서버입니다. 컨텐츠에 대한 모든 요청은 공개적으로 볼 수 있는 역방향 프록시 서버 URI를 거친 후 개인용 Rational DOORS Web Access 서버 URI로 경로 재지정됩니다.
역방향 프록시 서버의 사용은 다음과 같은 몇 가지 장점을 제공합니다.
  • 향후의 배치 토폴로지 변경: 배치에서 역방향 프록시를 사용하는 경우 애플리케이션이 배치되는 시스템 수와 포트 번호에 상관없이 공용 URL에 하나의 호스트 이름을 제공할 수 있습니다. 결과적으로 나중에 배치 토폴로지를 변경할 수 있습니다.
  • 보안: 역방향 프록시 서버는 여분의 보안 계층을 제공하며 통신 네트워크에서 다른 HTTP 서버를 보호할 수 있습니다. 역방향 프록시 서버와 컨텐츠 HTTP 서버 사이에 방화벽을 사용 중인 경우 역방향 프록시 서버의 HTTP 요청만 허용하도록 방화벽을 구성할 수 있습니다.
  • 성능: 역방향 프록시 서버에 SSL 요청의 성능을 향상할 수 있는 SSL 가속 하드웨어를 갖출 수 있습니다.
이 프로시저에서 다음 단계를 수행합니다.
  1. SSL 키 저장소를 준비하십시오.
  2. httpd.conf 파일을 수정하십시오.
  3. IBM HTTP Server를 시작하십시오.
  4. Rational DOORS Web Access 컴포넌트를 시작하십시오.
  5. Rational DOORS Web Access 서버를 시작하십시오.

프로시저

  1. 유효한 SSL 인증서 키 파일을 시스템에서 액세스 가능한 위치에 배치하십시오.
  2. IBM HTTP Server에서 SSL 요청을 처리하도록 구성하려면 httpd.conf 파일을 편집하십시오. 이 파일은 IBM HTTP Server 설치에서 conf 디렉토리에 있습니다.
    1. 다음 모듈을 주석 해제하십시오.
      • 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. SSL 구성 섹션으로 이동하여 애플리케이션 서버 세부사항을 설정하십시오. 표준 설정 외에도 이 단계의 예제에서 보여주는 것처럼 다음 매개변수가 설정되었는지 확인하십시오.
      • SSLProxyEngine
      • ProxyPass
      • ProxyPassReverse
    참고: 이 예제에서 일반 사용자에게 보이는 프록시 포트는 8443으로 설정됩니다. 환경에 따라 Apache Tomcat을 사용하도록 구성된 포트를 다른 값으로 설정하여 포트 충돌을 방지할 수 있습니다.
    # 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. IBM HTTP Server를 시작하십시오.
  4. Rational DOORS Web Access 컴포넌트를 시작하십시오.
  5. Rational DOORS Web Access 서버를 시작하십시오.
  6. 다음 dbadmin 명령을 입력하여 Rational DOORS Web Access 공용 URL과 포트를 역방향 프록시 서버로 설정하십시오.
    dbadmin -dwaHost reverse_proxy_url -dwaPort reverse_proxy_portnumber
    dbadmin 명령에 대한 자세한 정보는 Rational DOORS 데이터베이스 서버 구성을 참조하십시오.

피드백