0

我正在使用 GitBlit 设置一个新服务器。默认情况下,它应该创建和管理可通过 ssh、端口 29418 访问的存储库。例如:ssh://user@gitblit.mycompany.com:29418/repo.git

但是新的 GitBlit 迫使我在创建的每个 repo 中都使用 HTTP(无论其权限策略如何)。访问它的唯一方法是通过 HTTP http://user@gitblit.mycompany.com/r/repo.git

我在 Apache 后面的 Tomcat6 下(作为默认 webapp,在 ROOT 目录下)有 GitBlit 1.7.7 战争。以前在本地 VM(都是 Centos6.7)上安装时,相同的设置对我有用。

我已经迷路了。不能使用 SSH 并且不知道如何摆脱 repo 路径中的 /r/ 。是否可能是由 jk_module 引起的,我用它来连接 tomcat 和 apache 而不是 VM 中的代理?

我的 .properties:

git.sshPort=29418
git.repositoriesFolder = ${baseFolder}/git
git.sshKeysManager = com.gitblit.transport.ssh.FileKeyManager
4

1 回答 1

0

通过将 GitBlit 移出 Tomcat 的 ROOT 目录并在 Apache VirtualHost 上使用 rewriteRule 解决了问题

RewriteEngine on
RewriteLog logs/apache-mod_rewrite
RewriteCond %{REQUEST_URI} !^/gitblit-1.7.1.*
RewriteRule ^/(.*)$ /gitblit-1.7.1/$1 [L,PT]

JkMount /gitblit-1.7.1* worker1

Gitblit 之后开始提供 SSH。

于 2016-02-03T15:27:08.470 回答