HAproxy ACL 仅允许对选定的 git 存储库/项目 URL 执行 ssh git 操作(阻止所有其他存储库)

HAproxy ACL 仅允许对选定的 git 存储库/项目 URL 执行 ssh git 操作(阻止所有其他存储库)

我有 Bitbucket Server 在端口 7999 上提供 SSH git 流量,并且它有一个用于 SSH 端口转发的 HAProxy(HAProxy 仅适用于来自安全网络的一组用户)。

要求是仅允许使用 SSH 协议克隆选定的项目/存储库,该协议必须通过端口 7999 上的 HAproxy。端口转发正在运行,但 ACL 尚未运行。

git SSH 克隆 URL 如下所示:

git clone ssh://[email protected]:7999/project1/repo1.git

问题 1) 是否可以使用 HAproxy ACL 来实现 SSH URI?问题 2) 我是 HAproxy ACL 的初学者,如何编写 HAproxy 规则以便默认阻止所有存储库并仅允许选定的存储库?

我尝试过 deny if {path -i -m end reponame.git}但是没有成功。

寻求有关如何最好地使用 HAproxy 实现它的示例/指导。

答案1

HAProxy 不会终止ssh连接,因此无法查看路径。path只能与 HTTP 请求(haproxy)匹配mode http

相关内容