﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	uname	nginx_version
520	Не определяется расширение файла при отсутствии названия файла	Andrew Krasichkov		"Во всех актуальных версиях nginx (проверял на 1.4.x и 1.5.x) наблюдается ситуация с не правильным парсингом расширения файла при отсутствии названия файла (имя файла до точки), что приводит к установке дефолтного Content-Type содержимого. С одной стороны это не столь значимо, но порой вынуждает разработчиков городить костыли вокруг этой особенности, т.к. при отсутствии правильного Content-Type и включенного mime-сниффинга в Internet Explorer существует риск XSS нападения, например, через загрузку вполне валидной (по мнению PHP) картинки. Разумеется, мы всем рекомендуем выставлять соответствующий заголовок вне зависимости от контекста приложения и используемого веб-сервера, но слушаются далеко не все:-(

Имеем стандартную конфигурацию и два файла: .jpg и test.jpg
Ожидаемый результат при обращении к ним:
{{{
$ http -h http://localhost:8081/test.jpg
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Length: 5
Content-Type: image/jpeg
Date: Tue, 11 Mar 2014 12:51:53 GMT
ETag: ""531f00c1-5""
Last-Modified: Tue, 11 Mar 2014 12:25:37 GMT
Server: nginx/1.5.12


$ http -h http://localhost:8081/.jpg    
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Length: 5
Content-Type: image/jpeg
Date: Tue, 11 Mar 2014 12:51:56 GMT
ETag: ""531f00c1-5""
Last-Modified: Tue, 11 Mar 2014 12:25:37 GMT
Server: nginx/1.5.12

}}}

Актуальный:

{{{
$ http -h http://localhost:8081/test.jpg
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Length: 5
Content-Type: image/jpeg
Date: Tue, 11 Mar 2014 12:54:46 GMT
ETag: ""531f00c1-5""
Last-Modified: Tue, 11 Mar 2014 12:25:37 GMT
Server: nginx/1.5.12


$ http -h http://localhost:8081/.jpg    
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Length: 5
Content-Type: application/octet-stream
Date: Tue, 11 Mar 2014 12:54:48 GMT
ETag: ""531f00c1-5""
Last-Modified: Tue, 11 Mar 2014 12:25:37 GMT
Server: nginx/1.5.12

}}}"	defect	closed	minor		nginx-core	1.5.x	wontfix			Linux AKrasichkovNotebook 3.13.6-1-ARCH #1 SMP PREEMPT Fri Mar 7 22:47:48 CET 2014 x86_64 GNU/Linux	"nginx version: nginx/1.5.12
built by gcc 4.8.2 20140206 (prerelease) (GCC) 
configure arguments:
"
