是否可以根據主機名稱配置 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中取得主機名稱了。然後你可以透過設定一些上游來路由它們。