Re: gzip ответ от upstream → SSI → 💣
Maxim Dounin
mdounin на mdounin.ru
Чт Фев 21 14:11:31 UTC 2019
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 -
сделайте так, чтобы бэкенд такого не присылал. Обычно этого легко
добиться с помощью конфигурирования бэкенда и/или выпиливанием
заголовка Accept-Encoding с помощью директивы proxy_set_header.
Добавить в документацию предупреждение "не делайте так", возможно,
стоит, но я не могу сказать, что проблема сколько-нибудь частая.
--
Maxim Dounin
http://mdounin.ru/
Подробная информация о списке рассылки nginx-ru