Nginx FastCGI question
mdounin at mdounin.ru
Tue Jan 1 20:45:20 UTC 2013
On Tue, Jan 01, 2013 at 06:21:02PM +0000, Some Developer wrote:
> When you run a FastCGI application behind Nginx does Nginx pass all
> the HTTP request headers to the FastCGI server / app? Or do you need
> to explicitly pass them using fastcgi_param?
> If Nginx does pass them, does it pass them all or only a subset of
> the request headers? The FastCGI specification is not at all clear
> on whether the HTTP headers are passed or not.
All HTTP request headers are passed to a FastCGI application by
default. You may modify/clear some by using the fastcgi_param
> Also in the same way I've read through the FastCGI specification and
> can find no information in which states which entity is responsible
> for generating all the HTTP response headers. I would assume it
> would be my FastCGI app and Nginx just forwards it on but does Nginx
> add or modify any headers after I have sent my response from my
> FastCGI app back to Nginx?
FastCGI relies on CGI here, so you should read RFC 3875 for basics,
see http://tools.ietf.org/html/rfc3875#section-6. In short - you
are responsible for headers like "Content-Type", but must not add
headers like "Transfer-Encoding".
Response from a FastCGI backend is treated by nginx more or less
like any other response, so response headers will be modified if
More information about the nginx