호스트 이름을 기반으로 하는 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_nameNginx에서 호스트 이름을 얻을 수 있습니다. 그런 다음 일부 업스트림을 설정하여 라우팅할 수 있습니다.

관련 정보