ПРОЕКТЫ 


  АРХИВ 


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: nginx дублирует часть URI при проксировании COPY н а apache+svn


  • To: "Konstantin M. Khankin" <nginx-ru@xxxxxxxxx>
  • Subject: Re: nginx дублирует часть URI при проксировании COPY н а apache+svn
  • From: Gena Makhomed <gmm@xxxxxxxxx>
  • Date: Fri, 18 Sep 2009 20:02:11 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csdoc.com; s=dkim; t=1253293553; bh=pqC22QCJdExvFLzBbzktfUyq6Qo+r1IhpH73ErowI7Y=; h=Date:From:X-Mailer:X-Priority:Message-ID:To:Subject:In-Reply-To: References:MIME-Version:Content-Type:Content-Transfer-Encoding; b=X2a++p6vj7EebD9vj5tbQEiYVpfJLbEnXD3+ispKLxHJiEi5H/3vMvssWb+9KVhIH KSIxdVLaGUucyydUDCTvxeDED03Lr9YHiZNqgGYZ0SePIwTRed0T11xs2dqyl8lUmI3 XY8zufqZAPKPqm3SA1m+pfvS/tYLm0VB5JgXWxs=
  • In-reply-to: <E1Mofyv-0004Jj-00.homecreate-list-ru@xxxxxxxxxxxx>
  • References: <E1Mofyv-0004Jj-00.homecreate-list-ru@xxxxxxxxxxxx>

On Friday, September 18, 2009 at 19:06:45, Konstantin M. Khankin wrote:

KMK> Построил следующую архитектуру:
KMK> client(ssl)---(ssl)nginx---apache---svn

KMK> Всё работает нормально, кроме svn move. При попытке выполнения этого 
запроса получаю 403

KMK> Перехватывал tcpdump'ом общение между nginx и apache -
KMK> обнаружил, что при отправке запроса на 
KMK> apache nginx удваивает первую часть URI (до первого /), что
KMK> приводит к невозможности выполнения 
KMK> некорректного запроса на apache. Дублирование происходит следующим образом:

/svn/tp -> /svn/svn/tp

существует (временный?) workaround: если вместо

location /svn {
        proxy_pass            http://v3.local/svn;

написать

location / {
        proxy_pass            http://v3.local/;

тогда всё работает нормально.

KMK> Конфиг nginx - http://paste.org.ru/?wf7hut

вот этот (вечный?) workaround для баги с полем Destination:

    set $dest $http_destination;
        if ($http_destination ~ "^https://se.item74.ru/(.+)") {
            set $dest http://se.item74.ru/$1;
        }
        proxy_set_header        Destination    $dest;
    }

можно переписать более универсальным способом, без имени хоста:

    set $fixed_destination $http_destination;
    if ( $http_destination ~* ^https(.*)$ )
    {
        set $fixed_destination http$1;
    }
    proxy_set_header Destination $fixed_destination;

-- 
Best regards,
 Gena




 




Copyright © Lexa Software, 1996-2009.