Cómo configurar el reenvío de puertos SSH usando Apache Reverse Proxy

hemos configurado un server proxy entre Internet y los serveres back-end. Las requestes HTTP están bien administradas con la directiva VirtualHost.

Tenemos un server de git detrás del proxy, y nos gustaría acceder al repository usando solo ssh, pero eliminemos el número de puerto en la URL.

Por ejemplo: ssh://backend.server.com:7999 --> ssh://backend.server.com

A continuación se muestra la configuration del proxy Apache:

 ProxyRequests ProxyPreserveHost On ProxyVia Full AllowCONNECT 7999 

Se supone que la directiva AllowCONNECT maneja el puerto 7999 a través de ssh, pero no estoy seguro de que esta configuration sea suficiente.

¿Qué debo configurar para gestionar el protocolo ssh a medida que gestionamos el http a través de ProxyPass y ProxyPassReverse?

Gracias.

Podría estar equivocado aquí porque no conozco todos los detalles sangrientos de cómo Apache puede encargarse de diferentes types de tráfico, pero, AFAIK:

  • ProxyPass y ProxyPassReverse se encargan de las asignaciones de requestes http , no de las routes ssh.
  • Como cuestión de hecho, ¿puede Apache hacerse cargo del tráfico ssh … en absoluto ?
  • Si estuviera utilizando un server GNU / Linux, podría simplemente configurar alguna regla nat de iptables para hacer que el tráfico que llega a este host en un determinado puerto (por ejemplo, el puerto 22) sea "reenviado" a otro host. Si desea ir por esa ruta, deberá agregar una regla -t nat PREROUTING para solicitar que el tráfico se dirija al otro host y una regla -t nat POSTROUTING para asegurarse de que las respuestas para este tráfico que se enviarán al host de origen regresa de esta manera a este mismo host para que pueda ser "desnaturalizado" (a less que este host sea la ruta por la que fluirá el tráfico cuando regrese del server ssh al host que creó la request ssh) )
  • Si las requestes llegan a un server de Windows, no tengo idea de cómo se hace esto allí.