ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Встроенные mime-types


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Встроенные mime-types
  • From: Максим Чечель <maximchick@xxxxxxxxx>
  • Date: Sun, 04 Nov 2007 00:29:46 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; bh=zaQhRmI8a78Rp0HC0SxXCW0vkOUmNMpUfJ/jk5rVKSU=; b=jnCIkRtroIYeKqGy2AFYdouOfTavh6kMFQZbTNNao7WIZqGIR5nonZZlBNvEUU4Ni0m6coyhUlsukAH7J6fgJRLIKVgouEU4mRGa0rbNMxdazzsZ1lkVTqpFGwyL4mF7nf+hzJN5X6bdhrahUP/hAzWDOfVERKZCNNMY/TCaXP0=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=sGhQRXzK+KZL1XuJVuiN2FT3GsRy4yIhyJ9psjOigiPRtB1CgRWZRtbayC5dZCZzZZv9zZbGTiYaWq4aoO0rvY9hcLFGyPBtepAUh2b1B9U7d3FTMoAr1WI0CHIBtqwhgW4XeVfKvkQXgdkU/XoPstkarQHnV7itzMkje+ZNGaM=
  • In-reply-to: <20071103210424.GD12764@xxxxxxxxxxxxx>
  • References: <16d2d8750711031323v3477f132rbf8b0f174de67d5b@xxxxxxxxxxxxxx> <20071103205739.GC12764@xxxxxxxxxxxxx> <20071103210424.GD12764@xxxxxxxxxxxxx>

Игорь, спасибо за исчерпывающий, а главное - работающий совет!

Igor Sysoev пишет:
> On Sat, Nov 03, 2007 at 11:57:39PM +0300, Igor Sysoev wrote:
>
>   
>> On Sat, Nov 03, 2007 at 11:23:30PM +0300, Максим Чечель wrote:
>>
>>     
>>> Есть такая задача: сделать виртуальный хост на котором лежит всякая
>>> статика: картинки, видео и т.п., причём сделать это нужно таким
>>> образом чтобы каждый запрошенный файл выдавался через
>>> Content-Disposition, т.е. браузер предлагал пользователю его скачать.
>>> Не найдя в документации ничего на эту тему закомментировал в
>>> nginx.conf строчку:
>>>
>>> include       conf/mime.types;
>>>
>>> Полагая при этом, что теперь сервер будет отдавать все файлы как
>>> octet-stream, поскольку в конфиге прописано умолчальное:
>>>
>>> default_type  application/octet-stream;
>>>
>>> однако этого не происходит: при запросе .jpg файла сервер отдаёт
>>> корректный mime тип:
>>>
>>> $ wget -S http://download.somehost.ru:8080/m/t/mtmam5ls.jpg
>>> --23:17:26--  http://download.somehost.ru:8080/m/t/mtmam5ls.jpg
>>>            => `mtmam5ls.jpg'
>>> Распознаётся download.somehost.ru... 127.0.0.1
>>> Устанавливается соединение с download.somehost.ru|127.0.0.1|:8080...
>>> соединение установлено.
>>> Запрос HTTP послан, ожидается ответ...
>>>   HTTP/1.1 200 OK
>>>   Server: nginx/0.5.26
>>>   Date: Sat, 03 Nov 2007 20:17:26 GMT
>>>   Content-Type: image/jpeg
>>>   Content-Length: 96345
>>>   Last-Modified: Thu, 01 Nov 2007 21:04:57 GMT
>>>   Connection: keep-alive
>>>   Keep-Alive: timeout=20
>>>   Accept-Ranges: bytes
>>> Длина: 96.345 (94K) [image/jpeg]
>>>
>>> Каким образом nginx угадывает mime-type не имея "include
>>> conf/mime.types;" в конфиге? Буду благодарен если поскажете ответ и на
>>>       
>> http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#types
>>
>>     
>>> первый вопрос: как отдавать все файлы заданного хоста через
>>> Content-Disposition?
>>>       
>> Как-то так:
>>
>>      location / {
>>
>>          types  { }
>>
>>          default_type  application/octet-stream;
>>
>>          root  ...;
>>
>>       if ($uri ~ ^/.*([^/]\.[^/])$) {
>>     
>
> -      if ($uri ~ ^/.*([^/]\.[^/])$) {
> +      if ($uri ~ ([^/]+)$) {
>
>   
>>           set   $name   $1;
>>           add_header  Content-Disposition   $name;
>>       }
>>      }
>>     
>
>
>   




 




Copyright © Lexa Software, 1996-2009.