nginx返回部分响应

时间:2019-02-22 10:45:13

标签: nginx nginx-reverse-proxy

具有带有反向代理配置的NGINX Plus:

upstream busgw_services_backend {
 server esbacc002:8281;
 server esbacc004:8281;

 keepalive 32;
 zone busgw_services_backend 32k;
}

server {
    listen      443 ssl;
    listen      80;
    server_name busgw-acc;

    # some ssl settings

    location / {
       proxy_pass http://busgw_services_backend;
       proxy_set_header Host   $host;
       proxy_set_header X-Forwarded-For $remote_addr;

       health_check interval=2s passes=1  fails=2 uri=/services/healthcheck match=match_ok ;
    }

    access_log  /var/log/nginx/access.log  main if=$abnormal;
    error_log   /var/log/nginx/error.log   warn;
}

通常,此配置运行良好。但是-我们有一个仅返回部分响应的请求。

后端响应是一个WSDL,在单个块中返回的块响应长度为0x13c6(5062)字节。 Nginx仅返回0xf7a(3962)字节,然后无法乘积附加字节(或整理0块)

块大小是否有限制?

编辑:

禁用响应缓冲区会导致返回整个响应(作为两个单独的块)

proxy_buffering off;

但是客户端没有收到最后0个块,导致等待其他数据

1 个答案:

答案 0 :(得分:0)

最后-下列设置似乎可以解决问题

proxy_buffering off;
proxy_cache off;
proxy_http_version 1.1;