Hi Eric,

Thank you for the quick reply. I checked out hosts and we are using Unicorn
3.4.1. Unfortunately there is only one setting for client_body_buffer_size.
So how does this parameter work? Will it only put a limitation on the body
itself or it applied proportionally to header and body (e.g., header 8k,
body 104k, etc).

We did experiments using curl by sending header exceeding 8k manually and I
am getting 404. So it's unicorn itself, not nginx that has the 8k header
size limitation.

The command we used for the experiment:
curl -v -H "$(./http-header-pumper.bat 8000)" <service_url>

The script we used to generate header:
#!/bin/bash

printf "x-header-pump: "
for ((i=0; i<$1; i++))
do
   let "n = $i % 10"
   if [ $n = 0 ]; then
      printf "_"
   else
      printf "%d" $n
   fi
done

Thank you and I am looking forward to hearing from you soon on the issue!

Rgds,
Jim Zhan



On Thu, Nov 20, 2014 at 1:59 PM, Eric Wong <[email protected]> wrote:

> Jim Zhan <[email protected]> wrote:
> > We are using Unicorn as the http server for one of our ruby applications
> > and we recently encountered an issue that some browsers won't limit the
> > cookie size so we will get requests with http header greater than 8k and
> > users are receiving "400-bad request". Is there a way to increase the
> > maximum allowed header size? I searched online but didn't find a lot of
> > useful information on it.
>
> This is subject to change in the next major release, but you can
> change it in unicorn 4.x using:
>
>   Unicorn::HttpRequest.max_header_len = <number>
>
> However, the default is already 112K, so I'm wondering if the 8K is
> the result of your nginx configuration or similar.
>


Reply via email to