Добрый день. Подскажите, поддерживает ли nginx возможность отдавать статические файлы чанками?
Если запросить ресурс, который nginx будет проксировать, то Transfer-Encoding: chunked включается. Например, запрашиваем ресурс, который формируется wsgi-бэкендом: curl http://server.example.com/api/v1/file/foobar/status, то ответ будет таким: HTTP/1.1 200 OK Server: nginx/1.2.1 Date: Mon, 25 Mar 2013 09:09:08 GMT Content-Type: application/json Transfer-Encoding: chunked Connection: close d {"status": 0} 0 Т.е. все хорошо, ответ пришел чанками. Но если запросить ресурс, который представляет из себя просто статичный файл и обрабатывается вот таким location'ом: location /files/ { root /home/uploader/receiver; chunked_transfer_encoding on; } То имеем такую картину: Запрос: curl http://server.example.com/files/foobar Ответ: HTTP/1.1 200 OK Server: nginx/1.2.1 Date: Mon, 25 Mar 2013 09:05:02 GMT Content-Type: application/octet-stream Content-Length: 819098 Last-Modified: Mon, 25 Mar 2013 08:38:21 GMT Connection: keep-alive Accept-Ranges: bytes ...data Т.е. nginx отдает файл "спрошняком", не деля его на чанки. Можно ли добиться того, чтобы nginx разбивал на чанки не только ответы от бэкендов, но и статические файлы? (здесь же возникает вопрос, как настаивать размер чанка) Спасибо. p.s. возможно задачу можно решить иначе, поэтому также поясню зачем мне это надо. Если верить некому Бену (https://groups.google.com/forum/?fromgroups=#!topic/python-tornado/kvZma1JY1hc), то штатный http-клиент из tornado позволяет использовать streaming_callback (http://www.tornadoweb.org/en/stable/httpclient.html) только в том случае, если ответ от сервера не "сплошной", а разбит на чанки. -- С уважением, Шарипов Руслан. Руководитель отдела разработки и сопровождения программного обеспечения ОАО "Уфанет". Контактная информация: google+: http://gplus.to/ruslan jid: [email protected] wave: [email protected] skype: ufaweb phone: +7(917)4775460 vkontakte: http://vkontakte.ru/ufaweb myspace: http://www.myspace.com/ufaweb facebook: http://facebook.com/sharipov linkedin: http://www.linkedin.com/in/ufaweb twitter: http://twitter.com/ufaweb _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
