Forum: NGINX 502 Bad Gateway w/ Large Headers

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
F3b4d122d07537781ea53ce870155cab?d=identicon&s=25 Clint Priest (Guest)
on 2008-10-23 17:54
(Received via mailing list)
I'm trying out this software FirePHP which is an out-of-band error
logging that works with PHP and Firebug.

With nginx setup as a load balancer, whenever large headers are being
passed back (from FirePHP) it causes nginx to send back a 502 Bad
Gateway message.

Here are the headers being sent (I received these by going around the
load balancer directly to the web server behind nginx).

HTTP/1.x 200 OK
Date: Thu, 23 Oct 2008 15:26:06 GMT
Server: Apache/2.2.8 (Ubuntu) mod_ssl/2.2.8 OpenSSL/0.9.8g
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Wf-Protocol-1: http://meta.wildfirehq.org/Protocol/JsonStream/0.2
X-Wf-1-Plugin-1:
http://meta.firephp.org/Wildfire/Plugin/FirePHP/Li...
X-Wf-1-Structure-1:
http://meta.firephp.org/Wildfire/Structure/FirePHP...
X-Wf-1-1-1-1:
102|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n\r\n"]|
X-Wf-1-Index: 32
X-Wf-1-1-1-2:
114|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"Customer
Search:\r\n"]|
X-Wf-1-1-1-3:
114|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"----------------\r\n"]|
X-Wf-1-1-1-4:
123|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"
Record Updated: 3315643\r\n"]|
Set-Cookie: LGCustomer=3315643; expires=Fri, 23-Oct-2009 21:14:52 GMT;
path=/; domain=capi.leadgeniuses.com
X-Wf-1-1-1-5:
102|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n\r\n"]|
X-Wf-1-1-1-6:
138|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"Incoming
Data Processing & Normalization\r\n"]|
X-Wf-1-1-1-7:
138|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"----------------------------------------\r\n"]|
X-Wf-1-1-1-8:
98|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n"]|
X-Wf-1-1-1-9:
2544|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"
Name |             Incoming |
Normalized\n------------------------------------------------------------------\n
Address |                      |                     \n
Backruptcy |                   -1 |                     \n
ChannelID |                      |                   12\n
ChannelTopicID |                      |
18\n                City |                      |
\n             Country |                   US |
US\n        CreditRating |                      |
\n         CreditScore |                      |
\n                 DOB |                      |
\n         DateOfBirth |                      |
\n          DayOfMonth |                      |
23\n           DayOfWeek |                      |
Thursday\n           DebtLevel |
|                     \n      EducationLevel |
|                     \n        EmailAddress |
|                     \n           FirstName |
|                     \n              Gender |
|                     \n              Height |
|                     \n           HomeOwner |                   -1
|                     \n           HomePhone |
|                     \n         IncomeLevel |                54000
|                   54\n            LastName |
|                     \n             Married |                   -1
|                     \n         MonthOfYear |
|              October\n                Race |
|                Other\n             Retired |                   -1
|                     \n              Season |
|        Out of Season\n              Smoker |                   -1
|                     \n           SocSecNum |            467923204
|          467-92-3204\n               State |                   TX
|                   TX\n           Timestamp |                      |
2008-10-23 10:26:06\n              Weight |
|                     \n           WorkPhone |
|                     \n             ZipCode |                77070
|                77070\r\n"]|
X-Wf-1-1-1-10:
102|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n\r\n"]|
X-Wf-1-1-1-11:
113|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"InfoID
Results:\r\n"]|
X-Wf-1-1-1-12:
113|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"---------------\r\n"]|
X-Wf-1-1-1-13:
98|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n"]|
X-Wf-1-1-1-14:
660|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"
| InfoID | Class          | Value         |
\n---------------------------------------------\n | 2693   |
ChannelID      | 12            | \n | 843    | ChannelTopicID |
18            | \n | 456    | DayOfWeek      | Thursday      | \n |
599    | DayOfMonth     | 23            | \n | 2371   | MonthOfYear    |
October       | \n | 446    | Season         | Out of Season | \n |
447    | Race           | Other         | \n | 842    | Country        |
US            | \n | 9943   | ZipCode        | 77070         | \n |
1013   | IncomeLevel    | 54            | \r\n"]|
X-Wf-1-1-1-15:
102|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n\r\n"]|
X-Wf-1-1-1-16:
126|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"Top
CategoryID: 5, 19, 3, 17\r\n"]|
X-Wf-1-1-1-17:
126|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"----------------------------\r\n"]|
X-Wf-1-1-1-18:
102|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n\r\n"]|
X-Wf-1-1-1-19:
121|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"Semi-Optimized
Results:\r\n"]|
X-Wf-1-1-1-20:
121|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"-----------------------\r\n"]|
X-Wf-1-1-1-21:
98|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n"]|
X-Wf-1-1-1-22:
894|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"ObjectClass
| ObjectClassID | TotalImpressions | OfferID | WeightedAverage |
CategoryID | Index |
Source\n----------------------------------------------------------------------------------------------------------------\n
Form |            55 |             6410 |      52 | 2.3612829682655
|          5 |     0 |         Tested\n       Form |            78
|             5785 |      72 | 1.7460832173666 |         19 |     1
|         Tested\n       Form |            56 |             5969 |
53 | 1.3848234390975 |          3 |     2 |         Tested\n       Form
|            87 |            13947 |      78 | 0.3668415939516 |
17 |     3 |         Tested\n   Creative |            82 |
239645 |      71 | 0.0340722992295 |          3 |     4 |
Tested\r\n"]|
X-Wf-1-1-1-23:
102|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n\r\n"]|
X-Wf-1-1-1-24:
115|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"Untested
Results:\r\n"]|
X-Wf-1-1-1-25:
115|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"-----------------\r\n"]|
X-Wf-1-1-1-26:
98|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n"]|
X-Wf-1-1-1-27:
456|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"
| OfferID | csvCreativeID | csvFormID | UntestedMethod |
\n----------------------------------------------------------\n | 72
|               | 78        | TopCategory    | \n | 78
|               | 87        | TopCategory    | \n | 53
|               | 56        | TopCategory    | \n | 52
|               | 55        | TopCategory    | \r\n"]|
X-Wf-1-1-1-28:
102|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n\r\n"]|
X-Wf-1-1-1-29:
115|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"Offer
Selections:\r\n"]|
X-Wf-1-1-1-30:
115|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"-----------------\r\n"]|
X-Wf-1-1-1-31:
98|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"\r\n"]|
X-Wf-1-1-1-32:
109|[{"Type":"INFO","File":"\/opt\/lg\/common\/lib\/pklib\/lib\/FirePHP.class.php","Line":400},"Empty
Array\r\n"]|
Content-Length: 2496
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/javascript


Any idea what I can do to get this fixed?
5640e332954fc0006aea97a155ce0afd?d=identicon&s=25 Igor Sysoev (Guest)
on 2008-10-23 17:59
(Received via mailing list)
On Thu, Oct 23, 2008 at 10:36:11AM -0500, Clint Priest wrote:

> I'm trying out this software FirePHP which is an out-of-band error
> logging that works with PHP and Firebug.
>
> With nginx setup as a load balancer, whenever large headers are being
> passed back (from FirePHP) it causes nginx to send back a 502 Bad
> Gateway message.
>
> Here are the headers being sent (I received these by going around the
> load balancer directly to the web server behind nginx).

If you use proxying, then try something like

    proxy_buffer_size  16k;    # this is for header and first body part
    proxy_buffers      4 16k;
8e579d9d8d80390927a75e6443479376?d=identicon&s=25 Clint Priest (Guest)
on 2008-10-23 20:55
(Received via mailing list)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=KOI8-R" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
That did it, thanks!<br>
<br>
Igor Sysoev wrote:
<blockquote cite="mid:20081023154140.GB97701@rambler-co.ru" type="cite">
  <pre wrap="">On Thu, Oct 23, 2008 at 10:36:11AM -0500, Clint Priest
wrote:

  </pre>
  <blockquote type="cite">
    <pre wrap="">I'm trying out this software FirePHP which is an
out-of-band error
logging that works with PHP and Firebug.

With nginx setup as a load balancer, whenever large headers are being
passed back (from FirePHP) it causes nginx to send back a 502 Bad
Gateway message.

Here are the headers being sent (I received these by going around the
load balancer directly to the web server behind nginx).
    </pre>
  </blockquote>
  <pre wrap=""><!---->
If you use proxying, then try something like

    proxy_buffer_size  16k;    # this is for header and first body part
    proxy_buffers      4 16k;


  </pre>
</blockquote>
</body>
</html>
8e579d9d8d80390927a75e6443479376?d=identicon&s=25 Clint Priest (Guest)
on 2008-10-23 22:06
(Received via mailing list)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=KOI8-R" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
If I set this to a very large value, such as 128k does it allocate this
for every connection or only as needed?ลก This really only needs to be
large for debugging purposes.<br>
<br>
Clint Priest wrote:
<blockquote cite="mid:4900B134.1030301@warpmail.net" type="cite">
  <meta content="text/html;charset=KOI8-R" http-equiv="Content-Type">
That did it, thanks!<br>
  <br>
Igor Sysoev wrote:
  <blockquote cite="mid:20081023154140.GB97701@rambler-co.ru"
 type="cite">
    <pre wrap="">On Thu, Oct 23, 2008 at 10:36:11AM -0500, Clint Priest
wrote:

  </pre>
    <blockquote type="cite">
      <pre wrap="">I'm trying out this software FirePHP which is an
out-of-band error
logging that works with PHP and Firebug.

With nginx setup as a load balancer, whenever large headers are being
passed back (from FirePHP) it causes nginx to send back a 502 Bad
Gateway message.

Here are the headers being sent (I received these by going around the
load balancer directly to the web server behind nginx).
    </pre>
    </blockquote>
    <pre wrap=""><!---->
If you use proxying, then try something like

    proxy_buffer_size  16k;    # this is for header and first body part
    proxy_buffers      4 16k;


  </pre>
  </blockquote>
</blockquote>
</body>
</html>
5640e332954fc0006aea97a155ce0afd?d=identicon&s=25 Igor Sysoev (Guest)
on 2008-10-23 22:22
(Received via mailing list)
On Thu, Oct 23, 2008 at 01:15:06PM -0500, Clint Priest wrote:

>    If I set this to a very large value, such as 128k does it allocate
>    this for every connection or only as needed?  This really only needs
>    to be large for debugging purposes.

Yes, the proxy_buffer_size is allocated for every connections,
but proxy_buffers are allocated on demand only.
This topic is locked and can not be replied to.