400 errors for some clients: not related to buffer size and works over HTTPS but not HTTP

Benjamin Jackson bhjackson at gmail.com
Wed Oct 14 20:36:13 MSD 2009

I'm going to go ahead and answer my own question for posterity:

Looks like in 0.4.0 the "Connection" header was routed to
ngx_http_process_unique_header_line, which is what is causing this
error. In later versions it's routed to ngx_http_process_header_line.

Updating to the latest stable version should fix this.

On Wed, Oct 14, 2009 at 1:31 PM, Benjamin Jackson <bhjackson at gmail.com> wrote:
> So it would seem (at least from the source of 0.5.33 that I was able
> to find quickly on Google) that the duplicates are in fact causing
> this error in the ngx_http_process_unique_header_line function.
> Is there a good reason for this to cause a 400 error if the duplicate
> values are equal? Or was this maybe fixed in a newer version? I'm
> running 0.4 (yeah, I know that I need to upgrade).
> On Wed, Oct 14, 2009 at 1:05 PM, Benjamin Jackson <bhjackson at gmail.com> wrote:
>> All I see from the error log on the relevant IP when changing the log
>> level is this:
>> 2009/10/14 15:57:33 [info] 20713#0: *1966 client sent duplicate header
>> line: "Connection: keep-alive", previous value: "Connection:
>> keep-alive" while reading client request headers, client:
>>, server: incomumdesign.com, URL: "/favicon.ico", host:
>> "www.drinkbrainjuice.com", referrer: "http://www.drinkbrainjuice.com/"
>> Could the duplicate header line be the cause of this error? If so, how
>> can I fix it?
>> 2009/7/31 Igor Sysoev <is at rambler-co.ru>:
>>> On Thu, Jul 30, 2009 at 05:47:45PM -0300, Benjamin Jackson wrote:
>>>> Has anyone seen anything like this before? We have no idea what's
>>>> going on. The buffers are set to 4/16k but still the client can't open
>>>> the site.
>>> You should set error_log to info level to see causes of 400 errors.
>>> The most of them may be SSL handshake errors.
>>> --
>>> Igor Sysoev
>>> http://sysoev.ru/en/

More information about the nginx mailing list