|
|
|
|
АРХИВ :: nginx-ru
|
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: X-Accel-Redirect и проксирование
- To: nginx-ru@xxxxxxxxx
- Subject: Re: X-Accel-Redirect и проксирование
- From: "Анатолий Шарифулин" <sharifulin@xxxxxxxxxx>
- Date: Wed, 17 Dec 2008 12:03:14 +0300
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender :to:subject:in-reply-to:mime-version:content-type:references :x-google-sender-auth; bh=aZqJqJ7fHWs5+aenp6sogeVAlI7lwKHQ5+8p4BIuz8I=; b=PQ0IhxCSHPywVY3DHlpMTR3B2HfjPfGGxQJquMRcsm1UPpfdmzBFriD2tZQh+Frrzv v4pDzdFbp/A88jXl28uXljXXNhsVVHZnjkeWE7XJpd+zUDncZlWZFp9aNFAxt077PRTa buTttiFZu9fD729umewsuRP/5BzALwlpkHYOs=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:in-reply-to:mime-version :content-type:references:x-google-sender-auth; b=iZjWW3Yvw0kJsp/dwYPen4/LaOWy78XKoTuQ/GfruoKdHRLlLiwmnmF7IiwnxvrUe3 /d3KEvnZMRVMoXIDeHO9diwz7D/TOvCiin/DyLDadYCj24f+HVtslNElUrlBv6+8COCt FiJ5Zpo7T0Ti34/w2jA58PHH0Dn6LXzSHU+Wg=
- In-reply-to: <91318900812160502j4b4b6a3cn20a4940585fc9737@xxxxxxxxxxxxxx>
- References: <91318900812160502j4b4b6a3cn20a4940585fc9737@xxxxxxxxxxxxxx>
Вопрос снят, это я сам text/plain и content-length 0 ставил, поэтому nginx ничего не менял :)
16 декабря 2008 г. 16:02 пользователь Анатолий Шарифулин <sharifulin@xxxxxxxxxx> написал:
Привет!
Есть контент вида image.jpg, video.mp4, разложенный по папочкам с ID:
ID/ image.jpg video.mp4 ... ID2/ image.jpg video.mp4 ... ... Контент раздает nginx, нужно при скачке таких файлов отдавать "нормальные" названия.
Сделал так:
location / { if ($args ~* test) { proxy_pass http://domain:9999; break; } expires max;
root /path/data; }
На порту 9999 (на другом сервере) висит демона, который для каждой ID находит "нормальные" названия и отвечает на каждый запрос так:
200 OK Server: Title Server/1.0
Content-Type: Content-Disposition: attachment; filename="normalnoe_nazvanie.mp4" X-Accel-Redirect: /data/1133/video.mp4
Далее запрос обрабатывает nginx:
location /data/ { internal;
expires max; root /path; }
В результате пользователь получает следующий ответ:
200 OK Server: nginx/0.6.16 Date: Tue, 16 Dec 2008 12:44:24 GMT Content-Type: text/plain; charset=utf-8
Last-Modified; Fri, 12 Dec 2008 10:02:45 GMT Transfer-Encoding: chunked Content-Disposition: attachment; filename="normalnoe_nazvanie.mp4" Content-Encoding: gzip Connection: Close
Т.е. ставится дефолтный Content-Type, а должен от отдающего файла, и нет Content-Length.
Как разрешить эту проблему?
Сначала была идея написать на nginx-perl, но у меня демон общается с БД не блокируясь. Поэтому решил написать свой демон.
-- С уважением, Анатолий Шарифулин.
-- С уважением, Анатолий Шарифулин.
|
|
|