Haproxy
終止 SSL 的 HAProxy 還將 SSL 發送到後端伺服器
我想在 HAProxy 處終止 SSL,對標頭進行一些操作,重寫 URL 並重新加密流量並作為 SSL 發送到後端伺服器?
我似乎找不到辦法做到這一點。我可以完成正常的 SSL 終止,並將純 HTTP 請求發送到後端。但我需要將 SSL 發送到後端。
我想擁有以下功能:
- 提取 x-forwarded-for 標頭,以獲取代理後面的真實客戶端 IP。
- 使用 cookie 實現會話粘性。
- 做一些 URL 重寫。
- 使用基於 cookie 的會話粘性將 SSL 流量發送到後端。
除非我在 haproxy 端終止 SSL,否則我無法完成 URL 重寫。
這裡的好人的任何幫助將不勝感激。
在 haproxy.cfg 中沒有什麼特別的。您只需在 HAProxy 前端配置所需的任何 URL 重寫和標頭操作,然後將流量重定向到 SSL 後端。這是一個簡單的例子:
frontend app1_ssl bind *:443 ssl crt /etc/haproxy/certs.d/example.com.crt crt /etc/haproxy/certs.d/ no-sslv3 option http-server-close option forwardfor http-request add-header X-Forwarded-Proto https http-request add-header X-Forwarded-Port 443 # set HTTP Strict Transport Security (HTST) header http-response add-header Strict-Transport-Security max-age=15768000 # some ACLs and URL rewrites... default_backend backend_app1_ssl backend backend_app1_ssl server mybackendserver 127.0.0.1:4433 ssl verify none