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)