Welcome! Log In Create A New Profile

Advanced

Re: Invalid content types served when using alias

Vladimir Shebordaev
October 24, 2012 03:40PM
Hi!

On 24.10.2012 18:32, Maxim Dounin wrote:
> Hello!
>
> On Wed, Oct 24, 2012 at 05:59:33PM +0400, Vladimir Shebordaev wrote:
>
>> Hi!
>>
>> On 24.10.2012 03:50, Tom van der Woerdt wrote:
>>> Hi all,
>>>
>>> I'm using nginx' locations to serve a javascript file on '/client' :
>>>
>>> location = /client {
>>> expires epoch;
>>> alias /path/to/a/file.js;
>>> }
>>>
>>> Works fine, with one major exception: it gets an octet-stream
>>> Content-Type header.
>>
>> This is due to a bug in static module, it doesn't properly set
>> r->exten in this case, so the redirect gets default mime-type.
>
> As already explained by Igor, this is not a bug, but intentional
> behaviour.

I daresay that is also why your message does not make much sense :)

>
> Extension as seen in the URI is used to determine mime type, not
> one on the file system (which might not be present at all).
>

It is the case when the MIME type can not be guessed from URI but
can be inferred from the file redirect extension.

>>
>> Please try this patch
>>
>> Index: src/http/modules/ngx_http_static_module.c
>> ===================================================================
>> --- src/http/modules/ngx_http_static_module.c (revision 4892)
>> +++ src/http/modules/ngx_http_static_module.c (working copy)
>> @@ -224,6 +224,9 @@
>> return NGX_HTTP_INTERNAL_SERVER_ERROR;
>> }
>>
>> + r->uri = path;
>> + ngx_http_set_exten(r);
>> +
>> if (ngx_http_set_content_type(r) != NGX_OK) {
>> return NGX_HTTP_INTERNAL_SERVER_ERROR;
>> }
>
> The patch is completely incorrect. While it might work for you in
> this particular case, it
>
> a) Breaks the behaviour which is expected to work (in contrast to
> the above), e.g. like this:
>
> location = /foo.js {
> alias /path/to/a/file;
> }

Sure, it should be done in more elaborate way, like by, e.g
try_files handler. At least, it should be only done if r->exten
has not been guessed from the original URI. I would also do that
if I expect the patch to be applied as-is.

>
> b) Breaks unrelated things like the $uri variable.
>
>

Well, as long as the Content-Length is already set to the length
of the file I didn't expect variables to be evaluated, but, sure,
there is log module and probably others.

Thank you, but I guess no fixes are to be applied anyways.

Regards,
Vladimir

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

Invalid content types served when using alias

Tom van der Woerdt 2795 October 23, 2012 07:50PM

Re: Invalid content types served when using alias

wandenberg 1133 October 23, 2012 11:08PM

Re: Invalid content types served when using alias Attachments

Tom van der Woerdt 876 October 24, 2012 05:00AM

Re: Invalid content types served when using alias

wandenberg 924 October 24, 2012 06:02AM

Re: Invalid content types served when using alias Attachments

Tom van der Woerdt 762 October 24, 2012 06:06AM

Re: Invalid content types served when using alias

wandenberg 1058 October 24, 2012 07:46AM

Re: Invalid content types served when using alias Attachments

Tom van der Woerdt 733 October 24, 2012 07:54AM

Re: Invalid content types served when using alias

wandenberg 970 October 24, 2012 08:00AM

Re: Invalid content types served when using alias Attachments

Tom van der Woerdt 955 October 24, 2012 08:04AM

Re: Invalid content types served when using alias

Igor Sysoev 891 October 24, 2012 10:08AM

Re: Invalid content types served when using alias

Vladimir Shebordaev 755 October 24, 2012 10:00AM

Re: Invalid content types served when using alias

Tom van der Woerdt 671 October 24, 2012 10:24AM

Re: Invalid content types served when using alias

Maxim Dounin 641 October 24, 2012 10:34AM

Re: Invalid content types served when using alias

Vladimir Shebordaev 623 October 24, 2012 03:40PM

Re: Invalid content types served when using alias

Vladimir Shebordaev 781 October 25, 2012 10:20PM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 203
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready