Сегодня поимел DDoS.
Конфигурация access_log у меня такая:
"$request_time","$upstream_response_time","$http_host","$remote_addr","$remote_user","$time_local","$request",$status,$body_bytes_sent,"$http_referer","$http_user_agent","$cookie_PHPSESSID","$geoip_country_code"
При дедосе в логе сначала было:
"60.001","0.000 : 0.000 : 0.000 : 0.000 : 0.000 : 0.000 : 0.000 : 0.000 : 0.000",мой_IP,IP_клиента,"-","16/Sep/2014:07:55:45 +0400","POST / HTTP/1.1",500,0,"-","-","-","DE"
потом стало
"412.457","172.118 : 0.006 : 180.328 : 0.000 : 0.001 : 0.001 : 0.001 : 0.000 : 0.001",мой_IP,IP_клиента,"-","16/Sep/2014:08:24:32 +0400","POST / HTTP/1.1",500,0,"-","-","-","DE"
Содержимое POST запроса залогировать не успел (после первого бана DDoS прекратился). Глянул в старые логи: в течение полугода было аналогичное при некорректных запросах (к несуществующим сайтам, без UserAgent и т.д.).
Вопрос, почему в $upstream_response_time при некорректных запросах иногда пишется 9 значений через двоеточие?
Версия nginx была 1.6.0 (сразу обновил до 1.6.1), FreeBSD 9.1, бекэндом апач+php.