Приветствую всех!
Заметил тут одну вещь: в файле 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Кб.
В принципе, меня устроит однословный ответ разработчиков что все ок и так и задумано или это баг :)