![](/img/trans.png)
[英]Client denied by server configuration while trying to use git-http-backend.exe
[英]Client denied by server configuration for Git and Apache
我正在尝试使用 Apache 2.4 服务器在 Windows Server 2008 R2 上配置 Git 服务器。
我将此添加到 httpd.conf 文件中:
<Directory "C:/serveur_web">
Options +ExecCGI
Require all granted
</Directory>
<VirtualHost *:80>
SetEnv GIT_PROJECT_ROOT C:/serveur_web
SetEnv GIT_HTTP_EXPORT_ALL
SetEnv REMOTE_USER=$REDIRECT_REMOTE_USER
ScriptAliasMatch \
"(?x)^/(.*/(HEAD | \
info/refs | \
objects/(info/[^/]+ | \
[0-9a-f]{2}/[0-9a-f]{38} | \
pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
git-(upload|receive)-pack))$" \
"C:/Program Files (x86)/Git/libexec/git-core/git-http-backend.exe/$1"
</VirtualHost>
我在C:/serveur_web
创建了一个存储库我输入了这个命令来用我的远程机器克隆它:
git clone http://dladev1/parc_auto
我收到此错误:
C:\Users\assontia>git clone http://localhost/parc_auto
Cloning into 'parc_auto'...
fatal: unable to access 'http://localhost/parc_auto/': The requested URL returne
d error: 403
在我的 apache error.log 中,我可以看到:
[Thu Jun 26 02:44:50.404296 2014] [authz_core:error] [pid 2852:tid 816] [client 10.52.66.78:60785] AH01630: client denied by server configuration: C:/Program Files (x86)/Git/libexec/git-core/git-http-backend.exe
我想知道这是不是因为我没有匿名访问 git 服务器的权限?
我是否需要自动创建用户才能使用 git 服务器?
这个问题不能帮助我解决我的问题: 问题
我只是花了两个小时才发现,你需要授权执行CGI脚本的目录需要是CGI所在的目录,而不是你有GIT数据的目录。
所以这是错误的,因为该目录是您放置 GIT 数据的地方:
<Directory "C:/serveur_web">
Options +ExecCGI
Require all granted
</Directory>
我们可以在您的设置中看到服务器在这里:
"C:/Program Files (x86)/Git/libexec/git-core/git-http-backend.exe/$1"
这意味着需要CGI授权的目录是这样的:
<Directory "C:/Program Files (x86)/Git/libexec/git-core*">
Options +ExecCGI
Require all granted
</Directory>
您需要授权所有可执行文件,因为它使用多个。 我想您可以确定那些是什么,并且只允许确切地需要什么。 但是当我尝试包含可执行文件的确切名称时,它仍然给我一个 403。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.