Nginx com Chrome: 400 Pedido incorreto (fim prematuro do bloco de cabeçalho spdy)

1

Eu descobri que o log do servidor pode ter muitos HTTP 400 Bad requests, originários de clientes que usam o navegador Chrome, com um rápido intervalo do tipo DOS. (40 a 50 solicitações por segundo)

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

Ativando o registro de informações no 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

Criação de log no modo de depuração:

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

Desativar spdy resolve o problema.

Estou usando o Nginx como um proxy de armazenamento em cache reverso. O backend também usa Nginx e php-fpm.

Estou usando a versão Nginx do Debian jessie: 1.8.0-1 ~ dotdeb + 8.2

O Jessie-backports com a versão 1.9.4-1 ~ bpo8 + 1 fornece o mesmo resultado.

O problema ocorre com apenas uma pequena porcentagem de clientes que usam as versões 46.0.2490.71 e 45.0.2454.101 do Google Chrome

    
por Andras K 16.10.2015 / 14:46

0 respostas