Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#1478 closed defect (fixed)

1.13.9 HTTP/2 SERVER PUSH non-compressed assets

Reported by: George L Owned by: Ruslan Ermilov
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 by Ruslan Ermilov, 6 years ago

Status: newaccepted

comment:2 by Ruslan Ermilov, 6 years ago

Owner: set to Ruslan Ermilov
Status: acceptedassigned

comment:3 by Sergey Kandaurov <pluknet@…>, 6 years ago

In 1284:52873012ab26/nginx-tests:

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

comment:4 by Ruslan Ermilov <ru@…>, 6 years ago

Resolution: fixed
Status: assignedclosed

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.