Назад | Перейти на главную страницу

Включение кодирования Chunked Transfer в Nginx v.1.3.9 +

Очевидно, Nginx теперь поддерживает Chunked, но я получаю сообщение об ошибке «411 Length Required», когда планшетное устройство отправляет запрос Chunked в Nginx. Любые советы относительно того, как настроить Nginx для поддержки Chunked? Пользуюсь v.1.3.9.

Я знаю, что похожий вопрос был спросил, но это было в 2010 году, прежде чем chunked была поддержана в Nginx.

Мой nginx.conf:

master_process off;
worker_processes  1;
daemon off;

pid        /usr/nginx/logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    ngao_filters_directory /usr/nginx/filters;

    include       mime.types;
    default_type  application/octet-stream;

    # prevent caching by client
    add_header    Cache-Control "no-store, no-cache";

    sendfile        on;
    keepalive_timeout  65; 

  server {
        listen       8081;
        server_name  localhost;
    client_max_body_size 3m;
    chunked_transfer_encoding on;

    scgi_temp_path  /usr/nginx/scgi_temp;
    uwsgi_temp_path /usr/nginx/uwsgi_temp;

        location / {
        proxy_buffering off;
    proxy_pass    http://10.0.2.20:79;

        }  
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        } } }

(Отправляю ответ, потому что я еще не могу комментировать. Нужно> 50 репутации)

Вам следует прочитайте это.

Хитрость заключается в том, чтобы установить proxy_buffering off; в блоке вашего местоположения.

^ --- Я вижу, вы это уже пробовали.

Nginx в настоящее время не поддерживает фрагментированные запросы POST [...]
Единственное рабочее решение, которое я нашел, это следующее:
http://wiki.nginx.org/HttpChunkinModule

^ --- Но я думаю, что это ваш лучший выбор. Это означает, что вам нужно скомпилировать nginx, хотя