首页 文章

如何使用Apache Reverse Proxy设置SSH端口转发

提问于
浏览
0

我们在互联网和后端服务器之间设置了代理服务器 . 使用VirtualHost指令可以很好地管理HTTP请求 .

我们有一个位于代理后面的git服务器,我们只想使用ssh访问存储库,但是除去了URL中的端口号 .

例如: ssh://backend.server.com:7999 --> ssh://backend.server.com

以下是apache代理的配置:

ProxyRequests 
ProxyPreserveHost On
ProxyVia Full
AllowCONNECT 7999

AllowCONNECT指令应该通过ssh处理端口7999,但我不确定这个配置是否足够 .

在我们通过ProxyPass和ProxyPassReverse管理http时,我需要配置什么来管理ssh协议?

谢谢 .

1 回答

  • 1

    我可能在这里被误导,因为我不知道Apache如何处理不同类型的流量的所有细节,但AFAIK:

    • ProxyPass和ProxyPassReverse处理http请求映射,而不是ssh路径 .

    • 事实上,Apache可以处理ssh流量吗?

    • 如果您使用的是GNU / Linux服务器,您可以设置一些iptables nat规则,以使某个端口(例如端口22)到达此主机的流量为"forwarded"到另一个主机 . 如果您想要使用该路由,则必须添加 -t nat PREROUTING 规则以将流量定向到其他主机并使用 -t nat POSTROUTING 规则以确保将发送给发起主机的此流量的响应返回通过这种方式连接到同一个主机,以便它可以是"denatted"(除非此主机是当它们从ssh服务器返回到创建ssh请求的主机时流量将流出的路径) .

    • 如果请求将到达Windows服务器,我不知道如何在那里完成 .

相关问题