cgit e nginx tratando a página de índice como um repositório

1

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;
    }

}

    
por librin.so.1 01.11.2016 / 19:05

1 resposta

1

Adicionando

rewrite     /cgi    /   break;

dentro do bloco location / resolve esse problema específico.

    
por 01.11.2016 / 23:07

Tags