Adicionando
rewrite /cgi / break;
dentro do bloco location /
resolve esse problema específico.
Estou executando um navegador de repositório git usando cgit, on nginx.
Abrir a página de índice faz com que um erro No repositories found
seja exibido em vez do índice. Eu acredito que é porque foo.bar/
é tratado como foo.bar/cgit
, que então é interpretado como um repositório git com o nome "cgit", que não existe, daí o erro.
Não tenho certeza do que estou fazendo de errado aqui.
minha configuração nginx, com partes irrelevantes (por exemplo, ssl configs e tal) removidas e endereços / caminhos limpos para anonimato:
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;
}
}
Adicionando
rewrite /cgi / break;
dentro do bloco location /
resolve esse problema específico.