Ssl

使用 HAProxy 作為 https 轉發代理和 ssl 終止

  • January 21, 2019

我正在嘗試做這樣的事情:

  • 客戶端向 HAProxy 發送 HTTP 請求。
  • HAProxy 執行 TLS 將請求轉換為 https 並轉發到伺服器。HTTP 到客戶端。
  • 伺服器向 HAProxy 發送 https 響應,然後將響應作為 HTTP 轉發給客戶端。

目前,我不太確定如何使用 HAProxy 實現這一目標。我嘗試在自定義埠上創建前端偵聽,然後轉發到後端伺服器。這是我的 HAProxy 配置:

frontend manager_https
   bind *:8443
   mode tcp
   log global
   maxconn 2000
   timeout client 50000
   default_backend     https_be

backend https_be
   timeout connect         5000
   timeout server          50000
   retries                 3
   server                  rtmp-manager 127.0.0.1:12345 check-ssl verify none

不幸的是,這不起作用。當客戶端發送 HTTP 請求時,HAProxy 也會將 HTTP 請求轉發到後端伺服器,而不是 HTTPS。如何更改配置以使其按預期工作?

另一個問題:有沒有辦法讓使用 HAProxy 的客戶端對解除安裝透明?

我真的很感激任何幫助!

ssl在後端伺服器的定義中指定指令,如下所示:

server                  rtmp-manager 127.0.0.1:12345 check-ssl ssl verify none

請注意,該check-ssl選項僅影響健康檢查,如果ssl指定,則可以省略,因為健康檢查是通過 SSL 自動完成的。

HAProxy 應該充當透明的反向代理,因此客戶端不應該認識到請求實際上是由後端伺服器處理的。

引用自:https://serverfault.com/questions/950048