Proxy
設置 TCP-SNI 代理,將 SSL 流量動態轉發到 SNI 可能包含的任何主機名
我首先要總結一下我的目標:
我將設置 DNS 伺服器並配置我的智能電視以使用它。我將設置 DNS 伺服器,以便實際上不會解析對特定 DNS 區域的請求,而是 DNS 伺服器將返回我的代理伺服器的 IP。代理伺服器需要接受任何 HTTPS 請求,檢查 SNI,並將請求轉發到相應的主機。我無法靜態配置代理應將傳入請求傳遞到的主機,因為這些主機名是在特定 DNS 區域中“隨機”(=在我的控制之外)生成的。
到目前為止,我已經研究了 nginx 的 ngx_stream_ssl_preread_module 以及 HProxy。到目前為止,我還沒有找到讓他們代理將流量傳遞給 $requesthostname 的方法,似乎您總是需要指定將流量傳遞到的後端。
在使用 mitmproxy 檢查本地機器上的 HTTPS 流量時,我意識到它的行為符合我的要求,因為它將所有 HTTPS 請求轉發到相應的主機名。但是,由於我無法在我的智能電視上安裝 mitmproxy 的 CA 證書,因此我無法將其用於此目的。
有沒有人知道服務於我的目的的代理軟體,或者以這種方式配置我提到的代理伺服器之一的方法?
非常感謝您的幫助,在此先感謝
似乎這在 nginx 中應該很簡單。
stream { server { resolver 8.8.8.8 8.8.4.4; proxy_pass $ssl_preread_server_name:443; ....