Re: gzip ответ от upstream → SSI → 💣

Maxim Dounin mdounin на mdounin.ru
Чт Фев 21 16:17:44 UTC 2019


Hello!

On Thu, Feb 21, 2019 at 04:43:33PM +0200, Alexander Azarov wrote:

> чт, 21 февр. 2019 г. в 16:11, Maxim Dounin <mdounin at mdounin.ru>:
> 
> > Hello!
> >
> > On Thu, Feb 21, 2019 at 03:31:42PM +0200, Alexander Azarov wrote:
> >
> > > Мне кажется, что я уже второй раз на это напарываюсь, но правда так и не
> > > смог вспомнить когда был предыдущий. Если ответ апстрима в gzip, то
> > > вставляя его как SSI получается мусор в результирующем документе. Я смог
> > > найти краткий совет так не делать от 2013 г тут:
> > > https://forum.nginx.org/read.php?2,244299,244303#msg-244303
> >
> > По ссылке проблема немного другая - исходный ответ бэкенда в gzip,
> > и из-за этого SSI не может его обработать.  У вас же ответ на
> > SSI-команду include в gzip.
> >
> > > Сейчас 2019 г, я использую Nginx 1.14, и словил то же самое.
> > >
> > > Вопросы:
> > > 1. Есть ли это в документации?
> > > 2. Баг или фича?
> >
> > SSI include вставляет в ответ то, что получено в результате
> > выполнения подзапроса - в вашем случае то, что прислал бэкенд.
> > Если вы не хотите, чтобы в соответствующем месте ответа был gzip -
> > сделайте так, чтобы бэкенд такого не присылал.
> 
> Кто-то может такого хотеть? Есть такой случай, когда вот так надо? Мне, как
> человеку попытавшемуся "выстрелить себе в ногу" было бы очень приятно
> увидеть какой-то warning в error log.

На практике бывает сборка бинарных ответов через SSI.

> Но Вы прямо не ответили на вопрос (2). Я не настаиваю.

Это фича.  Если вы направляете ружьё на ногу и нажимаете на курок - 
оно стреляет в ногу.

-- 
Maxim Dounin
http://mdounin.ru/


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