nginx在proxy_pass之后删除内容长度http标头

时间:2013-11-20 13:30:20

标签: http nginx


我有一个问题,即nginx在代理传递后删除了content-length头。应用程序后端发送gzip流但指定内容长度。
NGINX将类型内容类型更改为chunked并删除内容长度标头。
这不适用于应用程序,因为它不是由浏览器读取,而是由需要指定内容长度的专有应用程序读取。
指定chunked_transfer_encoding off;后,它会停止添加内容类型标题,但仍会删除内容长度。如何禁用nginx中的任何头文件修改?
困惑:

upstream backend {
      server 127.0.0.1:9090;
}


server {
root /usr/share/nginx/www;
index index.html index.htm;

chunked_transfer_encoding       off;

        location / {
           proxy_pass  http://backend;
           proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
           proxy_redirect off;
           proxy_buffering off;
           proxy_set_header        Host            $host;
           proxy_set_header        X-Real-IP       $remote_addr;
           proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
       }
}

1 个答案:

答案 0 :(得分:2)

这是过去nginx中的已知错误。更新到最新版本。

http://forum.nginx.org/read.php?2,216085,216085#msg-216085