2015-11-10 136 views
1

我們有一個託管在Tomcat服務器(集羣)上的Web應用程序,兩個Apache Web服務器位於前面,F5負載均衡5位於Apache前面。 SSL在F5負載平衡器中配置。現在,當有人使用負載平衡器的安全url訪問我們的應用程序時,我們的java web應用程序不會評估request.isSecure爲true。有什麼設置我需要做到這一點。帶有Apache web和Tomcat的F5負載均衡器SSL問題

在我們的Apache Web服務器,我們使用代理平衡器以下配置

ServerName ip:80 

ProxyPass /balancer-manager ! 
ProxyPass/balancer://mycluster/ stickysession=JSESSIONID nofailover=Off 
ProxyPassReverse/balancer://mycluster/ 
<Proxy balancer://mycluster> 
      BalancerMember ajp://ipapp1:8009 route=jvm1 loadfactor=1 
      BalancerMember ajp://ipapp2:8009 route=jvm2 loadfactor=1 status=+H 
      ProxySet lbmethod=byrequests 
</Proxy> 

我試圖通過添加方案=「https」開頭,安全=「真改變tomcat的server.xml中的連接器的詳細信息「和8080的proxyPort =」443「,但它沒有奏效。

我在這裏錯過了什麼?

+0

描述,爲什麼你要在它後面的Web服務器上驗證加密?您發送的是未加密的連接,因此應該驗證爲不安全。 如果您不擔心性能,請橋接SSL連接並使用服務器SSL配置文件從BIG-IP重新加密到Web服務器以滿足此要求。 否則,您將需要在BIG-IP中編寫某種iRule,以通知Web服務器該連接之前已加密,並讓您的應用程序驗證該字符串。 – Chase

+0

其實我們使用openSAML進行SSO。我們得到「saml端點URL不匹配錯誤」,因爲端點url有https,而在應用服務器(tomcat)中,當我們試圖獲取請求協議時,顯然我們獲取http,因爲https在負載平衡器處終止。所以試圖探索選項,我怎樣才能讓tomcat知道使用https。 –

回答

1

您需要檢查您的應用程序以瞭解它是否受支持,但通常會轉發標頭以傳遞請求協議。傳統上這是X-Forwarded-Proto標題,但X -...命名法已被棄用。 Forwarded頭現在支持X-Forwarded-For,X-Forwarded-Proto等在一個頭文件中。然而,對於已棄用的方法仍然有廣泛的支持,所以任何一種方法都應該在應用程序支持之前工作。

X轉發 - 協議:HTTPS

轉發:原= HTTPS

如果你在BIG-IP終止SSL,新標準在RFC 7239