Rational DOORS Web Access를 위한 역 프록시로 IBM HTTP Server를 구성할 수 있습니다. 역 프록시 서버는 보안의 추가 계층을 제공하고 네트워크에서 HTTP 서버를 보호하며 SSL(Secure Sockets Layer) 요청의 성능을 향상시킵니다. 역 프록시를 사용할 때 필요에 따라 배치 토폴로지를 나중에 변경할 수 있습니다.
시작하기 전에
- Rational DOORS Web Access를 설치하되 Rational DOORS Web
Access 컴포넌트나 서버를 시작하지 마십시오.
- IBM HTTP Server를 설치하십시오.
이 태스크 정보
역 프록시 서버는 컨텐츠 HTTP 서버에 대한 직접 액세스를 방지하는 특수 HTTP 서버입니다. 컨텐츠에 대한 모든 요청은 공용으로 표시 가능한 역 프록시 서버 URI를 통과한 다음 개인용 Rational DOORS Web Access 서버 URI로 경로 재지정됩니다.
역 프록시 서버를 사용하면 여러 가지 장점이 있습니다.
- 향후 배치 토폴로지 변경: 배치에서 역 프록시를 사용할 때 애플리케이션이 배치된 포트 번호 및 시스템 수에 관계없이 공용 URL에서 하나의 호스트 이름을 제공할 수 있습니다. 결과적으로 나중에 배치 토폴로지를 변경할 수 있습니다.
- 보안: 역 프록시 서버는 보안의 추가 계층을 제공하고 통신 네트워크에서 기타 HTTP 서버를 보호할 수 있습니다. 역 프록시 서버와 컨텐츠 HTTP 서버 사이에 방화벽을 사용하는 경우 역 프록시 서버의 HTTP 요청만 허용하도록 방화벽을 구성할 수 있습니다.
- 성능: SSL 요청의 성능을 향상시킬 수 있는 SSL 가속화 하드웨어를 역 프록시 서버에 부착할 수 있습니다.
이 프로시저에서 다음 단계를 수행하십시오.
- SSL 키 저장소를 준비하십시오.
- httpd.conf 파일을 수정하십시오.
- IBM HTTP Server를 시작하십시오.
- Rational DOORS Web Access 컴포넌트를 시작하십시오.
- Rational DOORS Web Access 서버를 시작하십시오.
프로시저
- 시스템의 액세스 가능한 위치에 유효한 SSL 인증서 키 파일을 두십시오.
- IBM HTTP Server에서 SSL 요청을 처리하도록 구성하려면 IBM HTTP Server 설치의 conf 디렉토리에 있는 httpd.conf 파일을 편집하십시오.
- 다음 모듈을 주석 해제하십시오.
- 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
- SSL 구성 섹션으로 이동하고 애플리케이션 서버 세부사항을 설정하십시오. 표준 설정에 추가로 이 단계의 예에서 보여준 것처럼 다음 매개변수를 설정해야 합니다.
- SSLProxyEngine
- ProxyPass
- ProxyPassReverse
참고: 이 예에서 일반 사용자에게 표시되는 프록시 포트는 8443으로 설정됩니다. 사용자 환경에 따라
Apache Tomcat이 사용하도록 구성되는 포트는 포트 충돌을 피하기 위해 다른 값으로 설정되어야 할 수 있습니다.
# 클라이언트 SSL 요청을 청취하는 포트 사용 설정
Listen 0.0.0.0:8443
<VirtualHost *:8443>
# SSLEnable 지시문이 가상 호스트에 대해 SSL을 사용으로 설정합니다.
SSLEnable
# SSLProxyEngine은 프록시된 연결에 대해 서버가 SSL을 사용하는지를 토글합니다.
# 서버가 SSL 자원에 대해 역 프록시로 기능하는 경우 SSLProxyEngine을 On으로 설정해야 합니다.
# mod_ibm_ssl.so에 의존합니다.
SSLProxyEngine on
# SSLProtocolDisable 지시문은 특정 가상 호스트에 대한 클라이언트에서
# 사용할 수 없는 하나 이상의 SSL 프로토콜을 지정할 수 있게 합니다.
# 이 지시문은 <VirtualHost> 컨테이너에 있어야 합니다.
# 가상 호스트에 대한 지원 프로토콜이 별도로 지원됩니다.
# 모든 지원 프로토콜을 사용할 수 없으면 클라이언트가 SSL 핸드쉐이크를 완료할 수 없습니다.
# 다음 가능 값이 이 지시문에 사용 가능합니다. SSLv2, SSLv3, TLS, TLSv1, TLSv1.1, TLSv1.2
SSLProtocolDisable SSLv2
SSLProtocolDisable SSLv3
# 키 파일 지시문은 사용할 키 파일을 설정합니다.
KeyFile <path to keystore>/<keystore filename>.kdb
# SSLStashfile 지시문은 PKCS11 디바이스를 열기 위해 암호화된 비밀번호를
# 포함하는 파일 이름을 갖는 파일에 대한 경로를 표시합니다.
# mod_ibm_ssl.so에 의존합니다.
SSLStashfile <path to stash file>/.<stash filename>.sth
# SSLServerCert 지시문은 이 가상 호스트에 대해 사용할 서버 인증서를 설정합니다.
# mod_ibm_ssl.so에 의존합니다.
SSLServerCert <ssl certificate label>
# 이 지시문은 로컬 서버의 공간으로 원격 서버를 맵핑하도록 허용합니다.
# 로컬 서버는 전통적 의미에서 프록시로 작동하지 않으며 원격 서버의 미러로 표시됩니다.# <Path> 는 로컬 가상 경로의 이름입니다.
# <url>은 원격 서버의 부분 URL입니다.
# ProxyPass <Path> <url>
# 참고: 후행 슬래시가 있어야 합니다.
ProxyPass / https://<dwa tomcat host>:<dwa tomcat port>/
# 이 지시문은 Apache가 HTTP 경로 재지정 응답에서 위치 헤더에 URL을 조정하게 합니다.
# 이 기능은 Apache가 역 프록시로 사용될 때 역 프록시 뒤에 있는 백엔드 서버에서
# HTTP 방향 재지정 때문에 역 프록시를 우회하지 않도록 하기 위해 필요합니다.
# <Path> 는 로컬 가상 경로의 이름입니다.
# <url>은 원격 서버에 대한 부분 URL이며 ProxyPass 지시문과 동일한 방법으로 사용됩니다.
# ProxyPassReverse <Path> <url>
# 참고: 후행 슬래시가 있어야 합니다.
ProxyPassReverse / https://<dwa tomcat host>:<dwa tomcat port>/
# 이 옵션은 proxypass 행에서 지정된 개인용 호스트 이름이 아닌,
# 수신 요청에서 프록시된 호스트까지 행을 호스트에 전달합니다.
ProxyPreserveHost On
</VirtualHost>
# 명시적으로 구성되지 않는 한 모든 기타 가상 호스트에 대해 SSL을 사용 안함으로 설정
SSLDisable
- IBM HTTP Server를 시작하십시오.
- Rational DOORS Web Access 컴포넌트를 시작하십시오.
- Rational DOORS Web Access 서버를 시작하십시오.
- 이 dbadmin 명령을 입력하여 Rational DOORS Web Access 공용 URL 및 포트를 역 프록시 서버로 설정하십시오.
dbadmin -dwaHost reverse_proxy_url -dwaPort reverse_proxy_portnumber
dbadmin 명령에 대한 자세한 정보는
Rational DOORS 데이터베이스 서버 구성을 참조하십시오.