Jeff Kaufman jefftk at
Tue May 12 12:28:16 UTC 2015

I'm trying to debug a SPDY 3.1 protocol error that you get when
combining nginx, Chrome, and ngx_pagespeed.

Chrome sends a SPDY request for /pagespeed_static/1.JiBnMqyl6S.gif as:

:host =
:method = GET
:path = /pagespeed_static/1.JiBnMqyl6S.gif
:scheme = https
:version = HTTP/1.1
accept = image/webp,*/*;q=0.8
accept-encoding = gzip, deflate, sdch
accept-language = en-US,en;q=0.8
cookie = frontend=csmoib69rn9324hhfilka78ab4
referer =
user-agent = Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/44.0.2399.0 Safari/537.36

This is handled by ngx_pagespeed where the (tiny) static file is part
of its binary.  It should simply send headers and body, but Chrome
receives a RST_STREAM from nginx, which then drops the connection.

This was reported to ngx_pagespeed as and then to
Chrome as

I'm trying to figure out if this is a bug in nginx, ngx_pagespeed, or Chrome.

I can't reproduce this locally, but I can reproduce it maybe 25% of
the time on Chrome requests with a clean cache to (the original reporter).

More information about the nginx-devel mailing list