ПРОЕКТЫ 


  АРХИВ 


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: x-accel-redirect + apache



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);


 




Copyright © Lexa Software, 1996-2009.