Opened 9 months ago

Closed 9 months ago

Last modified 9 months ago

#1478 closed defect (fixed)

1.13.9 HTTP/2 SERVER PUSH non-compressed assets

Reported by: centminmod@… Owned by: ru
Priority: minor Milestone: 1.13.9
Component: nginx-core Version: 1.13.x
Keywords: http2, http/2, Cc:
uname -a: Linux host.domain.com 3.10.0-693.17.1.el7.x86_64 #1 SMP Thu Jan 25 20:13:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
nginx -V: nginx -V nginx version: nginx/1.13.9 built by gcc 7.2.1 20170829 (Red Hat 7.2.1-1) (GCC) built with OpenSSL 1.1.0g 2 Nov 2017 TLS SNI support enabled configure arguments: --with-ld-opt='-ljemalloc -Wl,-z,relro -Wl,-rpath,/usr/local/lib' --with-cc-opt='-m64 -march=native -DTCP_FASTOPEN=23 -g -O3 -fstack-protector-strong -flto -fuse-ld=gold --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wimplicit-fallthrough=0 -fcode-hoisting -Wp,-D_FORTIFY_SOURCE=2 -gsplit-dwarf' --sbin-path=/usr/local/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --with-compat --with-http_stub_status_module --with-http_secure_link_module --add-dynamic-module=../nginx-module-vts --with-libatomic --with-http_gzip_static_module --with-http_sub_module --with-http_addition_module --with-http_image_filter_module=dynamic --with-http_geoip_module --with-stream_geoip_module --with-stream_realip_module --with-stream_ssl_preread_module --with-threads --with-stream=dynamic --with-stream_ssl_module --with-http_realip_module --add-dynamic-module=../ngx-fancyindex-0.4.2 --add-module=../ngx_cache_purge-2.4.2 --add-module=../ngx_devel_kit-0.3.0 --add-dynamic-module=../set-misc-nginx-module-0.31 --add-dynamic-module=../echo-nginx-module-0.61 --add-module=../redis2-nginx-module-0.14 --add-module=../ngx_http_redis-0.3.7 --add-module=../memc-nginx-module-0.18 --add-module=../srcache-nginx-module-0.31 --add-dynamic-module=../headers-more-nginx-module-0.33 --with-pcre=../pcre-8.41 --with-pcre-jit --with-zlib=../zlib-cloudflare-1.3.0 --with-http_ssl_module --with-http_v2_module --with-openssl=../openssl-1.1.0g --with-openssl-opt=enable-ec_nistp_64_gcc_128

Description

Hi compiled Nginx 1.13.9 from master branch to try out HTTP/2 Server Push but noticed the pushed assets loose their gzip compression and are served as non-compressed assets instead of compressed assets. Confirmed with Chrome devtool network inspection, nghttp tool and webpagetest.org that pushed assets are uncompressed. Seems similar to mod_h2 bug at https://github.com/icing/mod_h2/issues/86

Details at:

https://community.centminmod.com/threads/hurray-http-2-server-push-for-nginx.11910/#post-59411

https://forum.nginx.org/read.php?2,278481

System:

CentOS 7.4 64bit

Change History (5)

comment:1 Changed 9 months ago by ru

  • Status changed from new to accepted

comment:2 Changed 9 months ago by ru

  • Owner set to ru
  • Status changed from accepted to assigned

comment:3 Changed 9 months ago by Sergey Kandaurov <pluknet@…>

In 1284:52873012ab26/nginx-tests:

Tests: added HTTP/2 server push tests with gzip (ticket #1478).

comment:4 Changed 9 months ago by Ruslan Ermilov <ru@…>

  • Resolution set to fixed
  • Status changed from assigned to closed

In 7207:3d2b0b02bd3d/nginx:

HTTP/2: push additional request headers (closes #1478).

The Accept-Encoding, Accept-Language, and User-Agent header fields
are now copied from the original request to pushed requests.

Note: See TracTickets for help on using tickets.