Welcome! Log In Create A New Profile

Advanced

Re: large_client_header_buffers directive is accepted in server, but ignored.

Maxim Dounin
August 18, 2010 06:44AM
Hello!

On Wed, Aug 18, 2010 at 12:18:49PM +0200, Brane F. Gračnar wrote:

> Hello there!
>
> We noticed quite lots of "414 Request URI to large" messages in nginx error
> logs for one of configured virtualhosts and decided to bump
> large_client_headers_buffers directive in server (virtualhost) context.
>
> According to wiki documentation at
> http://wiki.nginx.org/NginxHttpCoreModule#large_client_header_buffers,
> directive should be accepted and evaluated in http AND server context.
>
> Directive is accepted, but completely ignored and 414 issue remains. However,
> problem is fixed if i move large_client_headers_buffers directive outside
> server context to http context.
>
> We're using nginx 0.8.37. Considering changelog issue should be also present
> in 0.8.49, becouse there are only two mentions of large_client_headers_buffers
> directive.
>
> Where is bug: in implementation or documentation? Either way, it should be
> fixed :)

It is only possible to use large_client_header_buffers from server
block which is default on a listen socket in question. The reason
is obvious: there are no information about name-based virtual
hosts before we were able to parse headers.

E.g. this will work as expected, with one 4k buffer in server1 on
port 8081 and 4 buffers in server2 on port 8082:

http {
server {
listen 8081;
server_name server1;
large_client_header_buffers 1 4k;
}
server {
listen 8081;
server_name server2;
large_client_header_buffers 4 4k;
}
}

but this won't (for both servers one 4k buffer will be used):

http {
server {
listen 8080;
server_name server1;
large_client_header_buffers 1 4k;
}
server {
listen 8080;
server_name server2;
large_client_header_buffers 4 4k;
}
}

as one can't distingush server1 and server2 without parsing
headers.

So wiki is basically correct (as well as docs), and code works as
intended, but there are some nuances... ;)

Maxim Dounin

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

large_client_header_buffers directive is accepted in server, but ignored.

Brane F. Gračnar 3946 August 18, 2010 06:20AM

Re: large_client_header_buffers directive is accepted in server, but ignored.

Maxim Dounin 1438 August 18, 2010 06:44AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 308
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