是否可以根据主机名配置 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 中获取主机名。然后你可以通过设置一些上游来路由它们。