mercurial+ nginx: настройка вебморды для mercurial проектов
Panflov Konstantin Sergeevich
konstantin at avito.ru
Mon Dec 8 11:18:30 MSK 2008
allnightlong wrote:
> К сожалению, не все так хорошо, как хотелось бы.
> Заработало чтение из репозитория (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
>>
>>
>>
думаю также как и предыдущую проблему - надо усановить необходимые
парамзы User и Pass (или как там их) равные тем что приходят в заголовке
More information about the nginx-ru
mailing list