X-Accel-Redirect and Content-Type

Currently the application that is passing the X-Accel-Redirect uri back
to nginx must set the Content-type header otherwise it will
automatically be set to the default_type setting. Is there a way to get
nginx to automatically detect the mime settings and transmit it? I’ve
tried: fastcgi_ignore_headers Content-Type, but that gave me the error
(taken from
nginx, x-accel-redirect and mime types - Server Fault):

[warn] 3988#1288: invalid value “Content-Type”

Note: I’m using the latest windows build to test on.

Posted at Nginx Forum:

Hello!

On Thu, Nov 04, 2010 at 04:37:50PM -0400, soulodd wrote:

Currently the application that is passing the X-Accel-Redirect uri back
to nginx must set the Content-type header otherwise it will
automatically be set to the default_type setting.

This is not true.

If not explicitly set by script together with X-Accel-Redirect -
Content-Type will be set by nginx according to extension of
redirect destination (and types/default_type defined, see [1]).

[1] http://wiki.nginx.org/HttpCoreModule#types

Is there a way to get
nginx to automatically detect the mime settings and transmit it?

See above for extension-based detection - this is how it works by
default. Just not returning Content-Type with X-Accel-Redirect is
enough.

If you are talking about content sniffing - no, it’s not available
(at all).

I’ve
tried: fastcgi_ignore_headers Content-Type, but that gave me the error
(taken from
nginx, x-accel-redirect and mime types - Server Fault):

[warn] 3988#1288: invalid value “Content-Type”

Directive fastcgi_ignore_headers never accepted “Content-Type”
value.

Maxim D.

Thank you for your reply. You are correct – text/html was being sent
prior to the response. I should have seen that. Much appreciated.

Posted at Nginx Forum: