Наличие 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 чан, вызывающийв ожидании дополнительных данных