Git克隆私服http仓库出现403错误解决方法

1 篇文章 0 订阅
1 篇文章 0 订阅

当我用nginx作为中转git仓库的地址后。每次克隆输入完地址和用户名后总是出现403错误。

remote: 403 Forbidden
fatal: unable to access 'http://39.105.81.XXX/mmp.git/': The requested URL returned error: 403

 

因为是第一次搭建git私服的http仓库,出现这个错误也是查阅各种资料。但是都没有解决,最后只能耐着性子一点点排查nginx配置文件。

最后终于找出原因,403错误说明无法访问这个地址,而我们访问nginx的默认页面时却没说明问题。

出错的地方就呼之欲出,在nginx访问git仓库地址时出现了错误。而配置文件中恰好有一段配置是这个地方。

fastcgi_param SCRIPT_FILENAME     /usr/libexec/git-core/git-http-backend;

在找git-http-backend这个模块的时候没找到,这个地址下面并没有这个模块。所以只要修改地址就可以解决。

如果安装git时没有安装git-core这个模块,也不必惊慌。使用yum安装即可。

使用yum安装后的git-core会在/usr/libexec目录下。自己按需修改即可。

yum install git-core
=======================出错的配置文件=======================
server {
    listen      80;
    server_name git.server.com;

    client_max_body_size 100m;

    auth_basic "Git User Authentication";
    auth_basic_user_file /usr/local/nginx/conf/pass.db;

    location ~ ^.*\.git/objects/([0-9a-f]+/[0-9a-f]+|pack/pack-[0-9a-f]+.(pack|idx))$ {
        root /data/git;
    }

    location ~ /.*\.git/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$ {
        root          /data/git;
        fastcgi_pass  unix:/var/run/fcgiwrap.socket;
        fastcgi_connect_timeout 24h;
        fastcgi_read_timeout 24h;
        fastcgi_send_timeout 24h;
        fastcgi_param SCRIPT_FILENAME     /usr/libexec/git-core/git-http-backend;
        fastcgi_param PATH_INFO           $uri;
        fastcgi_param GIT_HTTP_EXPORT_ALL "";
        fastcgi_param GIT_PROJECT_ROOT    /data/git;
        fastcgi_param REMOTE_USER $remote_user;
        include fastcgi_params;
    }

=======================修改后的配置文件=======================
其他东西不改,只要将git-http-backend地址修改为正确的即可。
        fastcgi_param SCRIPT_FILENAME     /usr/local/libexec/git-core/git-http-backend;
      

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值