git-http-backend/nginx - ошибка 22 при нажатии

У меня есть онлайн-сервер (Ubuntu 17.04), на котором размещены мои репозитории. Я попытался настроить HTTPS на этом сервере, и я могу вытащить, но я не могу выдвинуть, это терпит неудачу со следующей ошибкой:

ошибка: невозможно получить доступ к URL-адресу https://user:passwd@myserver.com/REPO/, код возврата 22 неустранимый: ошибка git-http-push: не удалось отправить некоторые ссылки на " https://user:passwd@myserver/REPO/ '

Часть, относящаяся к конфигурации nginx, выглядит так:

# static repo files for cloning over https
location ~ ^.*\.git/objects/([0-9a-f]+/[0-9a-f]+|pack/pack-[0-9a-f]+.(pack|idx))$ {
    client_max_body_size 0;
    auth_basic  "Restricted Area";
    auth_basic_user_file /etc/apache2/.htpasswd;
    fastcgi_param REMOTE_USER $remote_user;
    root /home/git/;
}

# requests that need to go to git-http-backend
location ~ ^.*\.git/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$ {
    client_max_body_size 0;
    auth_basic  "Restricted Area";
    auth_basic_user_file /etc/apache2/.htpasswd;
    root /home/git/;

    #fastcgi_pass unix:/var/run/fcgiwrap.socket;
    fastcgi_param SCRIPT_FILENAME   /usr/lib/git-core/git-http-backend;
    fastcgi_param PATH_INFO         $uri;
    fastcgi_param GIT_PROJECT_ROOT  /home/git/;
    fastcgi_param GIT_HTTP_EXPORT_ALL "";
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param REMOTE_USER $remote_user;
    include fastcgi_params;
}

Во всей ветке, которую я прочитал, проблема возникла из-за параметра fastcgi REMOTE_USER или из локальной конфигурации git, в которой отсутствовал user/passwd в удаленном URL-адресе, но я настроил это, так что я ничего не понимаю. У кого-нибудь есть идея или видится проблема?

РЕДАКТИРОВАТЬ: Вот мой.git/config:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = https://user:passwd@myserver.com/REPO/
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[user]
    name = git

1 ответ

Не воспроизводя ваши настройки, вы уверены, что receivepack правильно включен, согласно документации?

А что если вы попытаетесь обновить свой локальный .git/config URL, как в этом посте (посмотрите на комментарий)

Другие вопросы по тегам