x-accel-redirect + apache

Ivan Albetkov ivan_alb at agava.com
Mon Jul 4 17:52:02 MSD 2005



Igor Sysoev wrote:
> On Mon, 4 Jul 2005, Igor Sysoev wrote:
> 
>> On Mon, 4 Jul 2005, Ivan Albetkov wrote:
>>
>>> Igor Sysoev wrote:
>>>
>>>> On Mon, 4 Jul 2005, Ivan Albetkov wrote:
>>>>
>>>>>> Насколько я понимаю, /images/topics/kras.gif - это внешний URI.
>>>>>> А как выглядит внутренний URI ? Так как первоначально запрос
>>>>>> проксировался,
>>>>>> то mime тип для запроса /images/topics/kras.gif не определялся.
>>>>>> После выполнения внутреннего редиректа mime тип опрделяется, исходя
>>>>>> из нового URI.
>>>>>
>>>>>
>>>>>
>>>>> Внутренний выглядит как
>>>>> "/nginx_internal/home/kolyann5/public_html/images/topics/kras.gif".
>>>>>
>>>>> И еще раз повторюсь, что ни с мозиллой, ни с firefox'ом, ни с оперой
>>>>> такого не наблюдается.
>>>>
>>>>
>>>>
>>>> Тогда нужно сделать отладочный лог и прислать мне.
>>>
>>>
>>> Выслал.
>>>
>>> И еще есть 2 вопроса:
>>> 1. Почему в access-логе отдача картинок идет то со статусом 304, то со
>>> статусом 200 (причем, похоже, как раз тогда, когда IE их текстом
>>> рисует).
>>>
>>> 2. Раньше модуль, который выдает X-Accel-Redirect, не проверял
>>> существование файла. И когда nginx пытался отдать несуществующий файл по
>>> такому редиректу - выдавал свою страничку "404", но со статусом 200.
>>
>>
>> Обе ошибки связаны с тем, что nginx не меняет статусную строку в
>> ответе, полученную от бэкенда. Буду думать, как это обработать так, чтобы
>> не сломалось другое.
> 
> 
> Прилагаемый патч должен помочь.

Да, помогло, спасибо.

> 
> 
> Игорь Сысоев
> http://sysoev.ru
> 
> 
> ------------------------------------------------------------------------
> 
> --- src/http/ngx_http_upstream.c	Wed Jun 29 17:44:04 2005
> +++ src/http/ngx_http_upstream.c	Mon Jul  4 17:18:49 2005
> @@ -935,6 +932,8 @@
>              }
>          }
>  
> +        r->headers_out.status_line.len = 0;
> +
>          ngx_http_internal_redirect(r,
>                                &r->upstream->headers_in.x_accel_redirect->value,
>                                NULL);

-- 
Ivan Albetkov
AGAVA Software (http://www.agava.com)






More information about the nginx-ru mailing list