2013-10-28 41 views
1

我有一個使用硬件負載平衡器的工作設置,以這種方式控制重定向,所有對http://example.com/login/ *的請求都被重定向到(使用HTTP 302)到https://example.com/login/ *,並且所有不適用於/ login的請求都從HTTPS重定向到HTTP。SSL卸載/使用HAproxy重定向特定的URL?

這讓我包裹登錄功能和用戶/密碼交換SSL但在其他方面避免放緩加密連接,並解決了一些問題,在一些瀏覽器中嵌入的內容混合內容的警告。

負載平衡,然而,是生命的結束,我要尋找一個替代解決方案,最好的軟件。

我認爲HAproxy將能夠作爲我的負載緩衝解決方案,但我只能找到配置示例和文檔,重定向從HTTP到HTTPS,反之亦然。

是否有可能做什麼我使用HAProxy的建議或我應該尋找不同的解決方案?

我知道我將需要使用HAProxy的開發版本,支持SSL的。

回答

1

我建議你不要爲你的生產環境使用DEV版本。

要回答你的問題,我會假設你要使用HAProxy的1.4版:

是否有可能做什麼我使用HAProxy的建議或我應該尋找不同的解決方案?

是的。這是可能的,但你必須使用其他軟件來處理HTTPS流量。 Stunnel被證明是很好的。所以,我想說的設置將是:

  • HAProxy的1.4

    # Redirect http://../login to https://../login 
    frontend HTTPSRedirect 
        bind 1.2.3.4:80 
        default_backend AppServers 
    
        redirect prefix https://www.domain.com/login if { path_beg -i /login } 
    
    # Handler for requests coming from Stunnel4. 
    frontend HTTPReceiver 
        bind 5.6.7.8:80 
        default_backend AppServers 
    
  • Stunnel4

    [https] 
    accept=443 
    connect=5.6.7.8:80 (HAProxy IP)