x-accel-redirect + apache
Igor Sysoev
is at rambler-co.ru
Mon Jul 4 17:21:02 MSD 2005
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
-------------- next part --------------
--- 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);
More information about the nginx-ru
mailing list