Welcome! Log In Create A New Profile

Advanced

Re: X-Accel-Buffering и fastcgi buffering - большие заголовки

Maxim Dounin
December 04, 2015 09:00AM
Hello!

On Fri, Dec 04, 2015 at 05:28:36AM -0500, iotch wrote:

> При отправке бэкэндом, работающим через fast cgi заголовков, больше чем 16
> кб, получаю ошибку 502 и "upstream sent too big header while reading
> response header from upstream". Версия nginx 1.9.7.

Заголовок ответа должен целиком помещаться в fastcgi_buffer_size,
http://nginx.org/r/fastcgi_buffer_size/ru. Ошибка говорит о том, что
он не помещается.

> Пробовал добавлять первым заголовком "X-Accel-Buffering: no" - эффекта не
> дает. Пробовал устанавливать fastcgi_buffering: off; в нужном location, в
> server и в http - то же самое.
>
> Имеют ли значения параметра "fastcgi_buffering" и заголовка ответа бэкэнда
> "X-Accel-Buffering", при отправке бэкэндом слишком больших заголовков?
>
> Правильно ли я понимаю, что "X-Accel-Buffering" может быть применен только
> после полного чтения всех заголовков и если заголовки слишком большие для
> текущей конфигурации эффекта от него не будет?

Ни fastcgi_buffering, ни X-Accel-Buffering не обеспечивают
возможность чтения ответов с заголовком, размер которого превышает
fastcgi_buffer_size.

Оба они влияют на то, как читается и отправляется клиенту тело
ответа: по умолчанию nginx пытается минимизировать количество
совершаемой работы и дожидается, пока бекенд заполнит буфер
целиком, и только после этого отсылает его клиенту. В случае же,
если буферизация отключена, nginx сразу отсылает клиенту все
полученные от бекенда данные - это может быть важно, e.g., для
стриминга ответов.

> Дело в том, что приложение отправляет в заголовках информацию для отладки и
> хотелось бы контролировать буфферизацию из самого приложения, только когда
> большие заголовки действительно отсылаются. Возможно ли это?

Судя по вопросу, вам надо контролировать не буферизацию, а
размер fastcgi_buffer_size. Это можно делать только из конфига
nginx'а.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Re: X-Accel-Buffering и fastcgi buffering - большие заголовки

Maxim Dounin December 04, 2015 09:00AM

Re: X-Accel-Buffering и fastcgi buffering - большие заголовки

iotch December 04, 2015 04:44PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 224
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready