Reverse-Proxy

反向代理可以使用 SNI 和 SSL 傳遞嗎?

  • March 2, 2021

我需要使用一個外部 IP 地址通過 https 服務多個應用程序。

不應在反向代理上管理 ssl 證書。它們安裝在應用程序伺服器上。

是否可以將反向代理配置為使用 SNI 並通過 ssl 以在端點終止?

這可能使用 Nginx 或 Apache 之類的東西嗎?配置是什麼樣的?

這對於 Haproxy 是可能的。您可以設置 TCP 代理並提取 SNI 並根據 SNI 進行路由。這是一個例子:

backend be.app1
   mode tcp
   no option checkcache
   no option httpclose
   tcp-request inspect-delay 5s
   tcp-request content accept if { req.ssl_hello_type 1 }
   tcp-request content reject
   use-server server1 if { req.ssl_sni -m beg app1. }
   server server1 server1:8443 check id 1 weight 0

延遲請求直到獲得 SSL hello 是必不可少的,否則 haproxy 將在收到 SNI 標頭之前嘗試建立連接。

我正在使用權重為 0 的伺服器,因為在我目前的配置中,我只為每個 SNI 執行一個伺服器,並且我不希望它們接收隨機請求。您可能會找到更好的方法來玩這個。

我希望這有幫助。

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