Debugging net::ERR_SPDY_PROTOCOL_ERROR

Jeff Kaufman jefftk at google.com
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 = www.kluisstore.nl
: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 = https://www.kluisstore.nl/
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
https://github.com/pagespeed/ngx_pagespeed/issues/962 and then to
Chrome as https://code.google.com/p/chromium/issues/detail?id=484793

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
https://www.kluisstore.nl/ (the original reporter).



More information about the nginx-devel mailing list