Tomcat
使用 Haproxy 的端到端 SSL 連接?
我想知道當我想通過伺服器建立 HTTPS 連接時 Haproxy 的反應。在 apache 中,我們有 aj_proxy 來建立與 tomcat 伺服器的 ssl 連接,因此如何使用 stunnel 來維護該功能。我們正在使用 Haproxy v1.4.13。我們的場景是我們希望將證書放入 stunnel 並維護 HTTPS 會話。我們只是在後端使用純 HTTP。因此,當我訪問https://www.domain.com/login瀏覽器驗證證書但在我登錄後,它又是 HTTP,因為它從普通的 HTTP Tomcat 伺服器獲取內容。
那麼有什麼方法可以讓我始終以 HTTPS 方式建立連接。下面是 stunnel 的配置文件:
sslVersion = all options = NO_SSLv2 ;Debug debug = 7 output = /usr/local/etc/stunnel/stunnel.log chroot = /var/tmp/stunnel setuid = nobody setgid = nobody pid = /stunnel.pid cert = /usr/local/etc/stunnel/stunnel.pem ;Some Performance Tunings socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 [https] client = noaccept = 10.12.12.1:443 connect = 10.12.12.1:84 xforwardedfor=yes TIMEOUTclose = 0
和 Haproxy HTTPS 前端配置:
. . . listen https 10.12.12.1:84 mode http cookie JSESSIONID prefix balance roundrobin option forwardfor except 10.12.12.1 option httpclose option http-server-close server S1 10.12.12.2:8080 cookie server1 maxconn 5000 check server S2 10.12.12.3:8080 cookie server2 maxconn 5000 check . .
任何幫助將不勝感激。
最後我通過stunnel本身得到了解決方案。我在 tomcat server.xml 配置中添加了 RemoteIpValue 類。我提到 internalProxies 的地方如下:
… internalProxies=“負載均衡器的 IP 地址列表” …
就我而言:
internalProxies="10\.12\.12\.1"
我建議
nginx
用作前端/反向代理,而不是stunnel
將所有流量從 http 重定向到 https。我不確定是否
stunnel
可以處理 http 重定向。