繁体   English   中英

客户端被 Git 和 Apache 的服务器配置拒绝

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM