Обслуживание репозитория мерзавца с nginx перестало работать с 403 Запрещенными

Я сделал пользователя git и помещенный пустой пустой репозиторий в его корневой каталог /home/git:

$ git init --bare test.git
$ ls -l
drwxr-xr-x 7 git git 4.0K Jul 18 12:51 test.git

Я хочу, чтобы этот репозиторий был доступен как example.com/repos/test.git.

Для выполнения этого у меня есть следующее nginx конфигурация:

location ~ /repos(/.*) {
    fastcgi_pass unix:/var/run/fcgiwrap.socket;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
    fastcgi_param GIT_HTTP_EXPORT_ALL "";
    fastcgi_param GIT_PROJECT_ROOT /home/git;
    fastcgi_param PATH_INFO $1;
}

Попытка клонировать сбои репозитория, однако:

$ git clone https://example.com/repos/test.git
Cloning into 'test'...
remote: 403 Forbidden
fatal: unable to access 'https://example.com/repos/test.git/':
  The requested URL returned error: 403

Между тем, nginx сказавший следующее в access.log:

"GET /repos/test/info/refs?service=git-upload-pack HTTP/1.1"
403 25 "-" "git/2.4.5"

Что я делаю неправильно?

Спасибо за любую справку.

0
задан 18 July 2015 в 20:13
1 ответ

...

После многих часов выдергивания волос уловка состояла в том, чтобы изменить порядок конфигурации nginx .

Кроме того, чтобы разрешить нажатие, Мне пришлось добавить несколько директив basic-auth .

    location ~ /repos(/.*) {
            auth_basic "access denied";
            auth_basic_user_file /path/to/your/htpasswd;
            client_max_body_size 0;
            fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend;
            include fastcgi_params;
            fastcgi_param GIT_HTTP_EXPORT_ALL "";
            fastcgi_param GIT_PROJECT_ROOT /home/git;
            fastcgi_param PATH_INFO $1;
            fastcgi_param REMOTE_USER $remote_user;
            fastcgi_pass unix:/var/run/fcgiwrap.socket;
    }

Для любой бедной души, просматривающей это, чтобы найти ответ на свою проблему, если после всего этого вы получите ошибку «недостаточное разрешение для бла-бла», исправьте ваши права доступа к репозиторию , например, .

0
ответ дан 24 November 2019 в 08:23

Теги

Похожие вопросы