У меня есть Debian под управлением Nginx, на git.example.comкотором я храню репозитории git.
Я могу тянуть / толкать / клонировать через SSH, запустив git clone keeyan@example.com/git/my_repo. ( gitэто символическая ссылка в моем домашнем каталоге, которая указывает на /mnt/primary_storage/git)
Однако, когда я клонирую / вытягиваю с HTTP (S), я получаю следующую ошибку:
fatal: http://git.example.com/my_repo.git/info/refs not valid: is this a git repository? Я получаю эту ошибку независимо от того, клонирую ли я реальный репозиторий
Соответствующая часть конфигурации Nginx:
server { listen 80; server_name git.example.com; root /mnt/primary_storage/git; location ~ (/.*) { auth_basic "Login"; auth_basic_user_file /mnt/primary_storage/.htpasswd; include fastcgi_params; fastcgi_param REMOTE_USER $remote_user; fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; fastcgi_param GIT_HTTP_EXPORT_ALL ""; fastcgi_param GIT_PROJECT_ROOT /mnt/primary_storage/git; fastcgi_param PATH_INFO $1; fastcgi_pass localhost:9000; } } Раздражает то, что у меня была точно такая же установка, запущенная на другом сервере с Ubuntu, и она работала нормально. Так что я не знаю, что вызывает это. Помимо этой одной проблемы все на сервере работает нормально.
Да, есть несколько подобных вопросов на сайтах StackExchange, но ни один из них не помогает мне. Например, некоторые из них имеют дело с Github, и они не создали хранилище первыми. Другие неправильно указали адрес Git. И другие сказали, что я должен бежать, git config --global http.proxyчто не помогло.
Также я трижды проверил все права доступа к папке / файлу, и все они доступны для чтения и записи от пользователя Nginx.
Привет, @mtak. Спасибо за ваш ответ. Я попробовал это, и это, кажется, ничего не делает. Я не знаю, какую отладочную информацию вам дать, поскольку нет вывода.