Я использую браузер репозитория git с помощью cgit на nginx.
Открытие индексной страницы вызывает No repositories found
ошибка, которая будет отображаться вместо индекса. Я считаю это потому что foo.bar/
обрабатывается как foo.bar/cgit
, который затем интерпретируется как репозиторий git с именем "cgit", которого не существует, отсюда и ошибка. Я не уверен, что я здесь делаю не так.
моя конфигурация nginx с удаленными нерелевантными частями (например, конфигурациями ssl и т. д.) и очищенными адресами / путями для анонимности:
server {
listen 80;
server_name git.foo.bar;
return 301 https://git.foo.bar$request_uri;
}
server {
listen 443 ssl http2;
server_name git.foo.bar;
#
# ssl configs here
#
location ~* ^.+\.(css|png|ico)$ {
root /foo/bar/htdocs;
expires 30d;
}
location / {
include fastcgi_params;
fastcgi_pass unix:/foo/bar;
fastcgi_index /;
fastcgi_param DOCUMENT_ROOT /foo/bar/htdocs;
fastcgi_param SCRIPT_FILENAME /foo/bar/cgit.cgi;
fastcgi_param PATH_INFO $uri;
fastcgi_param HTTP_HOST $server_name;
}
}
Добавление
rewrite /cgi / break;
внутри location /
блок решает именно эту проблему.