我正在使用GitBlit设置新服务器。它应默认创建和管理通过ssh,端口29418访问的repos。例如:ssh://user@gitblit.mycompany.com:29418/repo.git
但新的GitBlit迫使我在我创建的每个repo中使用HTTP(无论其权限策略如何)。访问它的唯一方法是通过HTTP http://user@gitblit.mycompany.com/r/repo.git
我在Tomcat6下的GitBlit 1.7.7战争(作为默认的webapp,在ROOT目录下)在Apache之后。先前在本地VM上安装(Centos6.7),同样的设置对我有用。
我已经迷路了。不能使用SSH,也不知道如何摆脱rep / path中的/ r /。是否有可能是由jk_module引起的,我用它来连接tomcat和apache而不是VM中的代理?
我的.properties:
git.sshPort=29418
git.repositoriesFolder = ${baseFolder}/git
git.sshKeysManager = com.gitblit.transport.ssh.FileKeyManager
答案 0 :(得分: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。