為 Rational DOORS Web Access 將 IBM HTTP Server 配置成反向 Proxy

您可以為 Rational DOORS Web Access 將 IBM HTTP Server 配置成反向 Proxy。反向 Proxy 伺服器提供額外的安全層,會保護網路中的 HTTP 伺服器,並改良 Secure Sockets Layer (SSL) 要求的效能。使用反向 Proxy 時,您可以之後再視需要來變更部署拓蹼。

開始之前

  1. 安裝 Rational DOORS Web Access,但是不啟動 Rational DOORS Web Access 元件或伺服器。
  2. 安裝 IBM HTTP Server。

關於這項作業

反向 Proxy 伺服器是特殊的 HTTP 伺服器,會阻止直接存取內容 HTTP 伺服器。對內容所提出的所有要求會行經一個公開可見的反向 Proxy 伺服器 URI,再重新導向至私密的 Rational DOORS Web Access 伺服器 URI。
使用反向 Proxy 伺服器的優點如下:
  • 未來再變更部署拓蹼:當您在部署中使用反向 Proxy 時,不論應用程式部署在多少部機器和埠號上,在公用 URL 中可以只提供一個主機名稱。因此您可以之後再變更部署拓蹼。
  • 安全:反向 Proxy 伺服器提供額外的安全層,並且可以保護通訊網路中的其他 HTTP 伺服器。如果您在反向 Proxy 伺服器和內容 HTTP 伺服器之間使用防火牆,可以將防火牆配置成只接受來自反向 Proxy 伺服器的 HTTP 要求。
  • 效能:您可以為反向 Proxy 伺服器配備 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 要求,請編輯位於 IBM HTTP Server 安裝架構 conf 目錄中的 httpd.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
    註: 在本例中,一般使用者可以看見的 Proxy 埠設為 8443。視您的環境而定,為了避免埠衝突,配置給 Apache Tomcat 使用的埠可能設為不同值。
    # 啟用用來接聽用戶端 SSL 要求的埠
    Listen 0.0.0.0:8443
    <VirtualHost *:8443>   
    # SSLEnable 指引會對虛擬主機啟用 SSL。
    SSLEnable     
    
    # SSLProxyEngine 會切換伺服器是否使用 SSL Proxy 連線。
    # 如果您的伺服器擔任 SSL 資源的反向 Proxy,必須指定 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 指引是設定要使用的金鑰檔。
    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>    
    
    # 這項指引容許遠端伺服器對映至本端伺服器的空間;就慣例來說,本端伺服器
    # 不擔任 Proxy,但是會以遠端伺服器的鏡映形式出現。
    # <Path> 是本端虛擬路徑的名稱。
    # <url> 是遠端伺服器的局部 URL。
    # ProxyPass <Path> <url>   
    # 附註:請保留尾端的斜線
    ProxyPass / https://<dwa tomcat host>:<dwa tomcat port>/     
    
    # 這項指引可讓 Apache 調整 HTTP 重新導向回應中之 Location 標頭中的 URL。
    # 當 Apache 作為反向 Proxy 時,由於在後端伺服器(位於反向 Proxy 後方)HTTP 會重新導向,# 必須藉助這項功能,才能避免略過反向 Proxy。
    # <Path> 是本端虛擬路徑的名稱。
    # <url> 是遠端伺服器的局部 URL - 其用法和 ProxyPass 指引相同。
    # ProxyPassReverse <Path> <url>   
    # 附註:請保留尾端的斜線
    ProxyPassReverse / https://<dwa tomcat host>:<dwa tomcat port>/  
    
    # 這個選項會將 Host: 行從送入的要求傳遞給 Proxy 主機,而不是傳遞給
    # proxypass 行中指定的專用主機名稱。
    ProxyPreserveHost On
    
    </VirtualHost>
    
    # 除非明確配置,會停用其他所有虛擬主機的 SSL
    SSLDisable
  3. 啟動 IBM HTTP Server。
  4. 啟動 Rational DOORS Web Access 元件。
  5. 啟動 Rational DOORS Web Access 伺服器。
  6. 輸入下列 dbadmin 指令,將 Rational DOORS Web Access 公用 URL 和埠設定給反向 Proxy 伺服器:
    dbadmin -dwaHost reverse_proxy_url -dwaPort reverse_proxy_portnumber
    如需 dbadmin 指令的相關資訊,請參閱配置 Rational DOORS 資料庫伺服器

意見