1

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: 0.0.0.0:443

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

Andras K
  • 21
  • 3

0 Answers0