Opened 10 years ago
Closed 10 years ago
#735 closed defect (invalid)
баг с Transfer-Encoding: chunked на https
Reported by: | Илья Шипицин | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | nginx-core | Version: | 1.7.x |
Keywords: | Cc: | ||
uname -a: | |||
nginx -V: |
nginx version: nginx/1.7.10
TLS SNI support enabled configure arguments: --prefix=/usr/local/etc/nginx --with-cc=gcc49 --with-cc-opt='-I /usr/local/include' --with-ld-opt='-L /usr/local/lib' --conf-path=/usr/local/etc/nginx/nginx.conf --sbin-path=/usr/local/sbin/nginx --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx-error.log --user=www --group=www --with-debug --with-ipv6 --with-http_geoip_module --http-client-body-temp-path=/var/tmp/nginx/client_body_temp --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi_temp --http-proxy-temp-path=/var/tmp/nginx/proxy_temp --http-log-path=/var/log/nginx-access.log --with-http_geoip_module --with-http_realip_module --with-http_stub_status_module --with-http_sub_module --add-module=/usr/ports/www/nginx/work/nginx-sticky-module-nginx-sticky-module-1.3 --add-module=/usr/ports/www/nginx/work/lua-nginx-module-0.9.15 --with-pcre --with-pcre-jit --with-http_spdy_module --with-http_ssl_module --add-module=/usr/ports/www/nginx/work/simpl-ngx_devel_kit-8dd0df5 |
Description
вкратце: на https содержимое отдается с ненужной буферизацией
подробно: допустим мы сделаем fastcgi стенд с вот таким приложением (отдает 500 чанков с интервалом 1 секунда): https://yadi.sk/d/cWNxpP7JfVBfj:
и разместим его по адресу
http://chunk.skbkontur.ru
https://chunk.skbkontur.ru
фрагмент конфига nginx: https://yadi.sk/d/LhW_0GWofVBwF
и напишем программу, которая вычитывает чанк за чанком: https://yadi.sk/d/C3CQy0s-fVBmb
если читать с http - все зашибись, контент отдается без буферизации, если по https - с буферизацией, это можно посмотреть на скриншотах, например: https://yadi.sk/i/WAkPNNMofVBri и https://yadi.sk/i/HPedh9IJfVBtn
похожая ситуация описывается вот тут http://stackoverflow.com/questions/13672743/eventsource-server-sent-events-through-nginx , и приводится хак "включить proxy_buffering off;" (в случае fastcgi, конечно будет "fastcgi_buffering off;"), в этом случае чанки отдаются так, как предполагается, без задержек.
кажется, что это баг и в случае chunked-кодировки буферизация должна отключаться (на http ведь отключается) на https в том числе
на всякий случай файлики приатачил к тикету
Attachments (5)
Change History (6)
by , 10 years ago
by , 10 years ago
Attachment: | chunk-reader.ps1 added |
---|
by , 10 years ago
by , 10 years ago
by , 10 years ago
Attachment: | nginx.conf-fragment added |
---|
comment:1 by , 10 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
This isn't a bug. Use of chunked encoding isn't expected to ensure immediate delivery of data. The fact that buffering doesn't happen anywhere with plain http is by chance - e.g., data will also be buffered if gzip is used. If you want to avoid buffering at all, use the proxy_buffering directive.