Поток 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. Затем вы можете маршрутизировать их, установив некоторые апстримы.

Связанный контент