Nginx FastCGI question
Some Developer
someukdeveloper at gmail.com
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 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
> it's needed.
>
Thanks for that. The CGI RFC certainly seems more useful than the
FastCGI specification.
More information about the nginx
mailing list