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

Другие вопросы по тегам