I’m getting this same error (please see log output below) with
Nginx(0.8.54) and Passenger(3.0.6) using GET requests with really long
URIs.
My assumption is that fastcgi_buffer* directives won’t apply to my
configuration since the request is being handled by passenger instead of
a php/perl fastcgi socket.
I’ve tried defining the proxy_buffer* settings like Travis described in
his initial post, but that didn’t resolve the error I’m experiencing.
I’ve defined “large_client_header_buffers 8 16k;” in the server
context, but this doesn’t alleviate the error either.
Is ‘large_client_header_buffers’ the proper directive I should be using?
If not, is there a directive I can use to increase the response header
size limit?
Thanks for any insight into this,
Mike P.
2011/05/01 09:57:41 [error] 12176#0: *4537092 upstream sent too big
header while reading response header from upstream, client: x.x.x.x,
server: hostname.tld, request: “GET
/heroku/resources/18623?<REALLY_LONG_URI_REMOVED> HTTP/1.1”, upstream:
"passenger:unix:/
On Mon, May 02, 2011 at 06:08:24AM +0200, Mike P. wrote:
Hi,
I’m getting this same error (please see log output below) with
Nginx(0.8.54) and Passenger(3.0.6) using GET requests with really long
URIs.
My assumption is that fastcgi_buffer* directives won’t apply to my
configuration since the request is being handled by passenger instead of
a php/perl fastcgi socket.
You have to tune appropriate settings provided by passenger
module. Please refer to passenger documentation for exact names,
most likely passenger_buffer_size and so on.
Thanks! This makes a lot more sense now. I’ll pursue a resolution with
passenger at this time. Hopefully this is something that they can
eventually resolve with a future release.
Isn’t this error message coming from nginx, complaining about the size
of the header returned from passenger? Given that, surely there’s some
way I can tell nginx to allow a larger header size?
As it was already said in this thread, passenger module
unconditionally set buffer size and it’s not configurable. There
should be something like “passenger_buffer_size” directive, but
it doesn’t exists.
Any suggestions?
Either bug passenger module authors or use another module to talk
to backends (e.g. standard fastcgi or proxy).
I tried every one of proxy_buffers, proxy_busy_buffers_size,
proxy_buffer_size, fastcgi_buffers, fastcgi_busy_buffers_size,
fastcgi_buffer_size, large_client_header_buffers.
Isn’t this error message coming from nginx, complaining about the size
of the header returned from passenger? Given that, surely there’s some
way I can tell nginx to allow a larger header size?
Guys did you see that Passenger 3.0.8 was released today, with this in
the changelog:
[Nginx] Added the options passenger_buffer_size, passenger_buffers and
passenger_busy_buffers_size. These options are similar to
proxy_module’s similarly named options. You can use these to e.g.
increase the maximum header size limit.
Posted at Nginx Forum:
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.