Re: mercurial+ nginx: настройка вебморды для mercurial проектов

allnightlong anightl at gmail.com
Sun Dec 7 03:33:34 MSK 2008


К сожалению, не все так хорошо, как хотелось бы.
Заработало чтение из репозитория (clone/pull), а также веб-интерфейс.
Однако не работает push:
hg push
pushing to http://hg.mysite.com/myproject/
searching for changes
abort: authorization failed

Пытался настроить basic-авторизацию - все то же самое:

hg push
pushing to http://hg.mysite.com/myproject/
http authorization required
realm: hg repo
user: username
password: <<-- ввожу неправильный пароль
http authorization required
realm: hg repo
user: username
password: <<-- ввожу правильный пароль
searching for changes
abort: authorization failed

вот конфиг nginx, который у меня получился:

   location / {
        fastcgi_pass  127.0.0.1:4080;

        fastcgi_param  PATH_INFO          $uri;

        fastcgi_param  QUERY_STRING       $query_string;
        fastcgi_param  REQUEST_METHOD     $request_method;
        fastcgi_param  CONTENT_TYPE       $content_type;
        fastcgi_param  CONTENT_LENGTH     $content_length;

        #fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;   <<--если
раскомментить эту строчку, то в веб-интервейсе все ссылки становятся, и все
вообще перестает работать
        fastcgi_param  REQUEST_URI        $request_uri;
        fastcgi_param  DOCUMENT_URI       $document_uri;
        fastcgi_param  DOCUMENT_ROOT      $document_root;
        fastcgi_param  SERVER_PROTOCOL    $server_protocol;

        fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
        fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

        fastcgi_param  REMOTE_ADDR        $remote_addr;
        fastcgi_param  REMOTE_PORT        $remote_port;
        fastcgi_param  SERVER_ADDR        $server_addr;
        fastcgi_param  SERVER_PORT        $server_port;
        fastcgi_param  SERVER_NAME        $server_name;
    }

По всей видимости (точно не уверен), данные авторизации не передаются fcgi
скрипту. Как победить - не знаю


6 декабря 2008 г. 3:21 пользователь Maxim Dounin <mdounin at mdounin.ru>написал:

> Hello!
>
> Определение любого fastcgi_param отменяет наследование с
> предыдущих уровней (стандартное поведение всех директив, задающих
> массивы).  Т.е. "include /etc/nginx/fastcgi_params;" в данном
> конфиге - просто ничего не делает.
>
> Как результат - $query_string в fastcgi не передаётся, и hgwebdir.fcgi
> из-за этого не видит команд протокола.
>
> Надо написать что-нибудь вроде
>
>    location / {
>        fastcgi_pass ...
>         fastcgi_param  PATH_INFO  $uri;
>         include  /etc/nginx/fastcgi_params;
>    }
>
> Maxim Dounin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20081207/424edc28/attachment.html>


More information about the nginx-ru mailing list