基於主機名稱的 NGINX SSH 串流

基於主機名稱的 NGINX SSH 串流

是否可以根據主機名稱配置 SSH 代理程式?

例如:

                                 |-> host1.domainexample1.com
                                 |-> host2.domainexample1.com
 SSH from outsite <-> Firewall <-|-> domainx.com (Default)
                                 |-> host1.domainexample2.com
                                 |-> host2.domainexample2.com

此外,出於安全原因,我希望有一個多路復用連接埠。可以使用 SSHL 進行存檔,使連接埠 443 適用於 OpenVPN、HTTPS 和 SSH。

理想情況下,如果 NGINX 能夠支援所有這些就太好了。

謝謝。

答案1

由於 SSH 不會傳送 SNI,Nginx 無法依主機名稱路由 SSH 連線。

但有一個技巧可以在 SSH 之前發送主機名稱。您需要在您的裝置上配置它當地的機器。

調整~/.ssh/config

Host *.domainexample1.com
    ProxyCommand openssl s_client -quiet -servername %h -connect your.firewall.ip.com

這樣就可以$ssl_preread_server_name在Nginx中取得主機名稱了。然後你可以透過設定一些上游來路由它們。

相關內容