ПРОЕКТЫ 


  АРХИВ 


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: [Bug] обрезается строка в a lias


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: [Bug] обрезается строка в a lias
  • From: Anton Kuznetsov <tosknight@xxxxxxxxx>
  • Date: Wed, 2 Jun 2010 19:52:30 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=UH9z6HkfMbuQCm6a7LHv54dRQFQhkUoJhbA8tN3igL4=; b=iL8/ydUF8oXLeFaKPPBZOv7f0IeDXUs1FPjcSQ8EdYhZun5RoNKwDNvf2kY8rE91E4 zuw0Ifz6Pz5w+ZD+qfbvne0k0kNwbMCw3AklsHTPtfJEFTjm84bk02pGwHbRjKIOq5r+ 68ehqgWi7W4EjhtLkZVsv2VQjmGw2ietOtDvo=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=eUma09I6dZ5+PPLuBF2mzHi2z16gLjF9fGsleoehKkk3iHmCFel16aoTk/cYwOdO/z KK4nyPc9EGSIw5FJI+XDaX2skgozstkgp81+vc5qZ5VAKIjvTOea2q8QbXcWxi0gdwIx cZoZNcGACKoCFEvO8E7Y0X0/+bZCsozLGUAmU=
  • In-reply-to: <20100602124359.GC2410@xxxxxxxxxxxxx>
  • References: <AANLkTinUk6-VEusxXxwdcL3ozJvNvrrbB7e2w_2k3no6@xxxxxxxxxxxxxx> <20100602124359.GC2410@xxxxxxxxxxxxx>

Ясно. Честно потратил часов 6 на дебаг и выгугливание, не накопал.
Думаю, стоит как минимум дать ссылку в cоотв. разделе
http://sysoev.ru/nginx/ , все-таки туда смотришь в первую очередь.
Размеры изображений произвольные, в этом вся фишка.
Ну что ж, ясно. Придется заставить поработать бекенд за кешера, пока
что-то не придумается.

А если заставить в подобном месте поработать встроенный перл, большой
оверхед получается? Не хотелось бы из-за одного локейшена терять по
остальному.

Спасибо за сервер, в 95% случаев все удается сделать, как хочется.


2010/6/2 Igor Sysoev <igor@xxxxxxxxx>:
> On Wed, Jun 02, 2010 at 04:13:37PM +0400, Anton Kuznetsov wrote:
>
>> Похоже на баг.
>>
>> ubuntu 10.04
>> nginx 0.7.65 (из пакетов)
>>
>> кеш картинок в файловой системе, пример
>> /path/to/images/12/12345_240x240.png
>> запросы, пример
>> /images/12345?size=200x200
>>
>> ожидаемый результат - отдать нужную картинку
>>
>> действительный результат:
>> /images/12345 - работает, отдается /path/to/images/12/12345_240x240.png
>> /images/12345?size=240x240 - не работает, уходит на бекенд.
>>
>> в error логе видно, что удалены последние четыре символа из alias
>> /path/to/images/12/12345_240x240
>>
>> если поставить в alias еще одну переменную, сохраненную из $arg_foo,
>> удаляются 8 байт.
>>
>> кусок конфига:
>>
>>       location ~ /image/(\d+)(\d\d\d) {
>>               types { }
>>               default_type image/png;
>>               set $size "240x240";
>>               if ($arg_size) {
>>                       set $size "${arg_size}";
>>               }
>>               alias "/path/to/images/$1/$1$2_${size}.png";
>>               error_page 404 405 502 504 = @fallback;
>>       }
>
> Это из-за if. Если число размеров предопределено, то можно так:
>
>     map $arg_size  $size {
>         default    240x240;
>         200x200    200x200;
>         ...
>     }
>
>     server {
>
>         location ~ /image/(\d+)(\d\d\d) {
>             types { }
>             default_type image/png;
>             alias "/path/to/images/$1/$1$2_${size}.png";
>             error_page 404 405 502 504 = @fallback;
>         }
>
> --
> Игорь Сысоев
> http://sysoev.ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://nginx.org/mailman/listinfo/nginx-ru
>
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.