Opened 5 years ago

Closed 5 years ago

#792 closed defect (fixed)

Chrome can't establish HTTP2 connection to nginx when URL contains long query string.

Reported by: bsuh@… Owned by: Valentin V. Bartenev
Priority: minor Milestone:
Component: nginx-module Version: 1.9.x
Keywords: http2 Cc:
uname -a: Linux f6972bcf5bd3 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
nginx -V: nginx version: nginx/1.9.4
built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)
built with OpenSSL 1.0.2d 9 Jul 2015
TLS SNI support enabled
configure arguments: --add-module=/root/nginx-rtmp-module-1.1.7 --add-module=/root/ngx_pagespeed-release-1.9.32.4-beta --with-http_v2_module --with-http_ssl_module --with-openssl=/root/openssl-1.0.2d

Description

Chrome Version 45.0.2454.93 (64-bit) Mac OS X

I added this query string.
"?a=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

Debug log contains this line
2015/09/20 06:44:05 [info] 22#0: *1 client sent header field with incorrect length while processing HTTP/2 connection, client: 192.168.33.1, server: 0.0.0.0:443

Change History (3)

comment:1 by bsuh@…, 5 years ago

If previous HTTP2 connection is reused, it works fine. When trying to establish new HTTP2 connection with Chrome with long query string, it fails.

comment:2 by Maxim Dounin, 5 years ago

Owner: set to Valentin V. Bartenev
Status: newassigned

Thank, this is somewhat known issue. Chrome seems to do something strange with continuation frames in some cases, and this causes problems. Valentin is already looking into this.

comment:3 by Valentin V. Bartenev, 5 years ago

Resolution: fixed
Status: assignedclosed

It should be fixed in 081a073e5164. Please, try the 1.9.5 release.

Note: See TracTickets for help on using tickets.