Reverse-Proxy
反向代理可以使用 SNI 和 SSL 傳遞嗎?
我需要使用一個外部 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 執行一個伺服器,並且我不希望它們接收隨機請求。您可能會找到更好的方法來玩這個。
我希望這有幫助。