ПРОЕКТЫ 


  АРХИВ 


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]

proxy_set_header Destination $proxy_destination;


  • To: Igor Sysoev <nginx-ru@xxxxxxxxx>
  • Subject: proxy_set_header Destination $proxy_destination;
  • From: Gena Makhomed <gmm@xxxxxxxxx>
  • Date: Thu, 5 Mar 2009 13:49:27 +0200
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csdoc.com; s=dkim; t=1236254097; bh=kqBMRdMc8kDZNJ9rim0q4wbBxtCdC1AcDZP2+lwdv2M=; h=Date:From:X-Mailer:X-Priority:Message-ID:To:Subject:In-Reply-To: References:MIME-Version:Content-Type:Content-Transfer-Encoding; b=aZMaFt0lUSfegyY0RTJy2Vv5nzGWT31IQmRFds37WaDrkSGpcP0QGX4fxGkJk5EiF 5uRi0OZCMchKcF3UuMydgQR9PoDF5E68a4Fh2ouVhyMOhay279lAf+/aYFEV6xm+B/W uT8Tb3kvaJuFhvkSRxRZCtT92UCICajF0MZqY2k=
  • In-reply-to: <20090304205852.GD24570@xxxxxxxxxxxxx>
  • References: <20090304205852.GD24570@xxxxxxxxxxxxx>

On Thursday, March 5, 2009 at 0:17:45, Igor Sysoev wrote:

IS> Probably to simplfy configuration even more I will make the "match" 
directive

IS>     match  $http_destination  ^https?(:.+)$;

IS>     proxy_set_header   Destination     http$1;

IS> as replacement to

IS>     set  $destination  $http_destination;

IS>     if ($http_destination ~* ^https(.+)$) {
IS>         set  $destination  $http$1;
IS>     }

IS>     proxy_set_header   Destination     $destination;

Игорь, а можно сделать так, что nginx будет сам менять
URI scheme в Destination на ту, что стоит в proxy_pass ?

или хотя бы сделать встроенную переменную $proxy_destination, которая будет 
иметь
ту же схему, что и proxy_pass, а все остальное как в оригинальном 
$http_destination

в результате - для 99.99999% случаев для корректного проксирования
WebDAV/SVN в конфиге nginx надо будет добавить только одну строчку:

    proxy_set_header Destination $proxy_destination;

если вопрос в том, чтобы не вычислять $proxy_destination
для каждого запроса - ее можно сделать как magic variable,
значение которой будет вычисляться в момент обращения к ней.

PS если мое предложение rejected - хотелось бы знать причину, в чем я ошибся.

-- 
Best regards,
 Gena




 




Copyright © Lexa Software, 1996-2009.