"upstream sent too big header while reading response header from upstream"?

Rafał Radecki radecki.rafal at gmail.com
Wed Feb 3 14:10:24 UTC 2016


Thanks, solved ;)

BR,
Rafal.

2016-02-03 14:42 GMT+01:00 Richard Stanway <r1ch+nginx at teamliquid.net>:

> You want proxy_buffer_size.
>
> http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffer_size
>
> On Wed, Feb 3, 2016 at 2:24 PM, Rafał Radecki <radecki.rafal at gmail.com>
> wrote:
>
>> Hi All.
>>
>> I am currently trying to find the source of "upstream sent too big header
>> while reading response header from upstream" in my logfiles because nginx
>> as a consequence returns "502 Bad Gateway".
>>
>> Basically I used tcpdump to get the traffic and I compared two cases:
>>
>> 1) the communication is ok:
>>
>> 12167 07:03:51.466937 IP 10.10.3.7.80 > 10.10.2.121.43817: Flags [P.],
>> seq 1779345520:1779348777, ack 1001934214, win 219, options [nop,nop,TS val
>> 2527240108 ecr 619023542], length 3257
>> 12168 E...7. at .@...
>> 12169
>> 12170 ..
>> 12171
>> 12172 .y.P.)j..p;.M............
>> 12173 ....$...HTTP/1.1 302 Found^M
>> 12174 Content-Length: 58^M
>> 12175 Content-Type: text/html; charset=utf-8^M
>> 12176 Date: Wed, 03 Feb 2016 12:03:51 GMT^M
>> 12177 Location: /^M
>> 12178 Set-Cookie: rfid-mgt-console=...
>> 12179 Set-Cookie: rfid-mgt-console.sig=xxx; path=/; expires=Wed, 03 Feb
>> 2016 13:03:51 GMT; httponly^M
>> 12180 Vary: Accept, Accept-Encoding^M
>> 12181 X-Cf-Requestid: yyy^M
>> 12182 X-Powered-By: Express^M
>> 12183 ^M
>> 12184 <p>Moved Temporarily. Redirecting to <a href="/">/</a></p>
>>
>> In this case everything up to "Moved T..." is in one response from
>> upstream (10.10.3.7).
>>
>> 2) nginx throws mentioned error to error.log and returns 502 code
>> 56874 06:31:45.307207 IP 10.10.3.7.80 > 10.10.2.121.58073: Flags [P.],
>> seq 953075345:953079441, ack 3028520986, win 219, options [nop,nop,TS val
>> 2526758567 ecr 617097381], length 4096
>> 56875 E..4.. at .@...
>> 56876
>> 56877 ..
>> 56878
>> 56879 .y.P..8...........h......
>> 56880 ..F.$.(.HTTP/1.1 302 Found^M
>> 56881 Content-Length: 58^M
>> 56882 Content-Type: text/html; charset=utf-8^M
>> 56883 Date: Wed, 03 Feb 2016 11:31:45 GMT^M
>> 56884 Location: /^M
>> 56885 Set-Cookie: rfid-mgt-console=...
>> 56886 Set-Cookie: rfid-mgt-console.sig=xxx; path=/; expires=Wed, 03 Feb
>> 2016 12:31:45 GMT; httponly^M
>> 56887 Vary: Accept, Accept-Encoding^M
>> 56888 X-Cf-Requestid: yyy
>>
>> 56889 06:31:45.307213 IP 10.10.2.121.58073 > 10.10.3.7.80: Flags [.], ack
>> 953079441, win 280, options [nop,nop,TS val 617097490 ecr 2526758567],
>> length 0
>> 56890 E..4.. at .@.zw
>> 56891
>> 56892 .y
>> 56893
>> 56894 .....P....8..............
>> 56895 $.)...F.
>>
>> 56896 06:31:45.307218 IP 10.10.3.7.80 > 10.10.2.121.58073: Flags [P.],
>> seq 953079441:953079542, ack 3028520986, win 219, options [nop,nop,TS val
>> 2526758567 ecr 617097381], length 101
>> 56897 E..... at .@...
>> 56898
>> 56899 ..
>> 56900
>> 56901 .y.P..8...........JU.....
>> 56902 ..F.$.(.503-564da79aecb5^M
>> 56903 X-Powered-By: Express^M
>> 56904 ^M
>> 56905 <p>Moved Temporarily. Redirecting to <a href="/">/</a></p>
>>
>> In this case response from upstream (10.10.3.7) is much larger because of
>> larger "Set-Cookie: rfid-mgt-console=..." returned and is divided into two
>> parts. "upstream sent too big header while reading response header from
>> upstream" is written to error.log.
>>
>> For clarity I only pasted the part of the traffic which differs.
>>
>> Initially in "http" section in nginx.conf:
>>
>> ...
>> http {
>>     proxy_max_temp_file_size 0;
>>
>>     proxy_buffering off;
>> ...
>>
>> I tried to change it to:
>>
>> ...
>> http {
>>     proxy_max_temp_file_size 0;
>>
>>     proxy_buffering on;
>>
>>     proxy_buffers 8 256k;
>> ...
>>
>> And I also added:
>>
>> ...
>>     proxy_buffering on;
>>
>>     proxy_buffers 8 256k;
>> ...
>>
>> to my "server" sections. I performed a restart but the error did not
>> change.
>>
>> Can someone help me with this one?
>>
>> BR,
>> Rafal.
>>
>> _______________________________________________
>> nginx mailing list
>> nginx at nginx.org
>> http://mailman.nginx.org/mailman/listinfo/nginx
>>
>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20160203/2c4a99b0/attachment.html>


More information about the nginx mailing list