ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



К сожалению, не все так хорошо, как хотелось бы.
Заработало чтение из репозитория (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@xxxxxxxxxx> написал:
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





 




Copyright © Lexa Software, 1996-2009.