gpt4 book ai didi

git - 如何使用 Apache 反向代理设置 SSH 端口转发

转载 作者:行者123 更新时间:2023-12-04 20:12:20 33 4
gpt4 key购买 nike

我们已经在互联网和后端服务器之间设置了一个代理服务器。使用 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 协议(protocol)?

谢谢。

最佳答案

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

  • ProxyPass 和 ProxyPassReverse 负责 http 请求映射,而不是 ssh 路径。
  • 事实上,Apache 可以处理 ssh 流量吗?
  • 如果您使用的是 GNU/Linux 服务器,您可以设置一些 iptables nat 规则,以使通过某个端口(例如,端口 22)到达该主机的流量“转发”到另一台主机。如果您想走这条路,您必须添加 -t nat 预路由 规则要求将流量定向到其他主机和 -t nat 后路由 规则以确保将发送到原始主机的此流量的响应以这种方式返回到同一台主机,以便它可以“变性”(除非该主机是流量在它们来时流出的路由从 ssh 服务器返回到创建 ssh 请求的主机)。
  • 如果请求将到达 Windows 服务器,我不知道这是如何在那里完成的。
  • 关于git - 如何使用 Apache 反向代理设置 SSH 端口转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44368420/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com