Путаница в последовательность записей в логах
grey
nginx-forum на forum.nginx.org
Ср Июл 15 10:18:58 UTC 2020
Приветствую всех!
Заметил тут одну вещь: в файле access.log время запросов идет не по порядку,
например:
127.0.0.1 - - [12/Jul/2020:23:30:00 +0300] "GET /nginx-status HTTP/1.0" 200
117 "-" "-"
127.0.0.1 - - [13/Jul/2020:00:15:00 +0300] "GET /nginx-status HTTP/1.0" 200
117 "-" "-"
127.0.0.1 - - [13/Jul/2020:00:45:00 +0300] "GET /nginx-status HTTP/1.0" 200
117 "-" "-"
127.0.0.1 - - [12/Jul/2020:03:00:00 +0300] "GET /nginx-status HTTP/1.0" 200
117 "-" "-"
или вот
127.0.0.1 - - [12/Jul/2020:02:20:00 +0300] "GET /nginx-status HTTP/1.0" 200
117 "-" "-"
45.157.*.* - - [12/Jul/2020:02:23:53 +0300] "GET / HTTP/1.1" 403 548 "-"
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/52.0.2743.116 Safari/537.36"
127.0.0.1 - - [12/Jul/2020:02:30:00 +0300] "GET /nginx-status HTTP/1.0" 200
117 "-" "-"
127.0.0.1 - - [11/Jul/2020:02:40:00 +0300] "GET /nginx-status HTTP/1.0" 200
117 "-" "-"
Начал разбираться. Вот что выяснил - существует две конфигурации для двух
разных адресов:
1. server
{
listen 127.0.0.1:80;
server_name 127.0.0.1;
location /nginx-status { stub_status; }
}
2. server {
listen 80;
server_name 11.22.33.44;
access_log logs/access.log combined buffer=64k;
...
}
Я так понимаю дело в буферизации. Но почему конфигурация 2 с включенной
буферизацией влияет на конфигурацию 1 на запись логов без буфера? По идее
логи о состоянии сервера при обращении с локального адреса 127.0.0.1 должны
писаться сразу в файл, а с внешнего адреса - блоками по 64Кб.
В принципе, меня устроит однословный ответ разработчиков что все ок и так и
задумано или это баг :)
Posted at Nginx Forum: https://forum.nginx.org/read.php?21,288706,288706#msg-288706
Подробная информация о списке рассылки nginx-ru