在 Nginx v.1.3.9+ 中启用分块传输编码

在 Nginx v.1.3.9+ 中启用分块传输编码

显然 Nginx 现在支持 Chunked,但当平板设备向 Nginx 发送 Chunked 请求时,我收到错误“411 LengthRequired”。关于如何配置 Nginx 以支持 Chunked,有什么建议吗?我使用的是 v.1.3.9。

我知道有一个类似的问题,但直到 2010 年,Nginx 才支持 Chunked。

我的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;
        } } }

答案1

(发布回复,因为我还不能发表评论。需要 >50 声望)

你应该读这个

诀窍是设置proxy_buffering off;您的位置块。

^--- 我看你已经尝试过了。

Nginx 目前不支持分块 POST 请求 [...]
我发现的唯一可行的解​​决方案是:
http://wiki.nginx.org/HttpChunkinModule

^--- 但我认为这是你最好的选择。这意味着你需要编译 nginx,尽管

相关内容