我想通过Apache使用git-http-backend。 我想要一个公共可读的存储库,但是一些authentication用户可能会推送。 我有以下configuration:
SetEnv GIT_PROJECT_ROOT /home/username/git SetEnv GIT_HTTP_EXPORT_ALL SetEnv REMOTE_USER $REDIRECT_REMOTE_USER ScriptAlias /git/ /usr/lib/git-core/git-http-backend/ RewriteCond %{QUERY_STRING} service=git-receive-pack [OR] RewriteCond %{REQUEST_URI} /git-receive-pack$ RewriteRule ^/git/ - [E=AUTHREQUIRED:yes] <LocationMatch "^/git/"> Order Deny,Allow Deny from env=AUTHREQUIRED AuthType Basic AuthName "Git Access" AuthUserFile /home/username/.htpasswd AuthGroupFile /home/username/.htgroup Require group committers Satisfy Any </LocationMatch>
我的存储库可以被匿名克隆,但是在推送过程中没有进行身份validation,任何人似乎都可以推送到回购站。 我试图启用http.recievepack在回购false ,但然后甚至克隆失败,403错误。
我如何解决这个问题?