ホスト名に基づく 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

この方法では、Nginx でホスト名を取得できます$ssl_preread_server_name。その後、いくつかのアップストリームを設定することでルーティングできます。

関連情報