Re[4]: Проблема: upstream buffer is too small

Илья Винокуров ilvin на mail.ru
Пн Сен 27 16:31:21 MSD 2010


> >> > <!--#include virtual="/backend1/script1?query=string" set="response" wait="yes" -->
> >> > <!--#if expr="${response}!=503" -->
> >> >   <!--#include virtual="/backend2/script2" -->
> >> > <!--#endif -->
> >
> >> > С помощью какой директивы можно сказать апстриму чтобы он не паниковал при слишком длинных ответах сервера и считывал в переменную столько, сколько в нее может поместиться (ssi_value_length)?
> >>
> >> "too small to read response while reading response header" лечится
> >> с помощью увеличения proxy_buffer_size.
> >> А вот что будет с мегабайтами в set="response" я боюсь представить.
> >
> > Ок, давайте упростим задачу:
> > Мне нужно "прокачать" кэш nginx информацией с бекенда.
> > Я использую инструкцию:
> > <!--#include virtual="/backend1/script1?query=string" wait="yes" -->
> > Но она вставляет контент бекенда в тело странички. Как сделать так, чтобы информация записывалась в кэш, но не выводилась на страничку?
> >
> > Идея была простой - использовать  set="response", но это не подходит... :(
> >
> 
> curl /frontend/url > /dev/null

Великолепное решение!

Но я все страдаю фигней - пытаюсь послать nginx к медленному бекенду backend1 за контентом, который должен осесть в кеше nginx, а потом бекендом backend2 быстро забрать ответ у nginx и выполнить преобразования контента.

Так что не будет мне счастья с curl:( - Нужно прокачивать кэш nginx средствами самого nginx'а...

С почтением,
  Илья Винокуров.



Подробная информация о списке рассылки nginx-ru