Nginx FastCGI question

Some Developer someukdeveloper at
Wed Jan 2 08:13:58 UTC 2013

On 01/01/13 20:45, Maxim Dounin wrote:
> Hello!
> On Tue, Jan 01, 2013 at 06:21:02PM +0000, Some Developer wrote:
>> Hi,
>> 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
> directive.
>> 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  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
> it's needed.

Thanks for that. The CGI RFC certainly seems more useful than the 
FastCGI specification.

More information about the nginx mailing list