I'v discovered, that may server's log have many of HTTP 400 Bad requests, originating from clients using Chrome browser, with a rapid DOS-like interval. (40-50 requests per second)

[16/Oct/2015:12:57:02 +0200] "-" 400 0 "-" "-"

Enabling info logging in Nginx:

client sent SYN_STREAM frame for stream 7 with invalid header block
while processing SPDY, client: xx.xx.xx.xx, server:

Debug mode logging:

http uri: "/"
http args: ""
http exten: ""
premature end of spdy header block
spdy send RST_STREAM sid:51 st:1
spdy close stream 51, queued 0, processing 1
http close request
http log handler
http pinba handler
free: 000000000219B010, unused: 282
free: 000000000203A2D0, unused: 2080
spdy frame complete pos:0000000001B30CC0 end:0000000001B31396
process spdy frame head:80030001 f:1 l:430
spdy SYN_STREAM frame sid:53 prio:4
posix_memalign: 000000000219B010:4096 @16
posix_memalign: 000000000203A2D0:4096 @16
process spdy header block 420 of 420
spdy inflate out: ni:0000000001B30E76 no:000000000203A5EE ai:0 ao:257 rc:0
spdy header block has 11 entries

Disabling spdy solves the problem.

I'm using Nginx as a reverse caching proxy. The backend also using Nginx and php-fpm.

I'm using Nginx version from Debian jessie: 1.8.0-1~dotdeb+8.2

Jessie-backports with version 1.9.4-1~bpo8+1 gives the same result.

The problem occurs with only a small percent of clients using Google Chrome versions 46.0.2490.71 and 45.0.2454.101

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.