Назад | Перейти на главную страницу

Конфигурация NGINX и CGit

Я пытаюсь настроить CGit и NGINX. Я почти готов, но у меня проблема с правилом перезаписи в файле conf моего NGINX.

В настоящее время у меня есть это:

server {
    listen       80;
    server_name  cgit.mydomain.com;
    index cgit.cgi;
    gzip off;

    root /usr/share/webapps/cgit;

    include fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME $document_root/cgit.cgi;

    location / {
        try_files $uri @cgit;
    }

    location @cgit {
        auth_basic "Restricted";
        auth_basic_user_file /path/to/my/password_file;

        gzip off;
        rewrite ^/([^/]+/.*)?$ /cgit.cgi?url=$1 break;
        fastcgi_pass    fcgiwrap;
    }
}

Я понимаю, что URL-адрес, когда я смотрю на demo_repo_1.git должен выглядеть http://cgit.mydomain.com/cgit.cgi?url=gitolite-admin.git (или что-то подобное?), но вместо этого он выглядит как http://cgit.mydomain.com/cgit.cgi/gitolite-admin.git/, и это не работает (как в cgit.cgi script не может прочитать правильные данные из URL-адреса и не может показать правильную информацию о моих репозиториях.

Кроме того, если я заставлю URL-адрес, который, по моему мнению, он должен быть (скопируйте и вставьте «правильный» URL-адрес в моем браузере), cgit.cgi скрипт загружается.

Могу я получить помощь с этим правилом перезаписи, пожалуйста?