Как указано в этот ответ, переменная $ time_local в журнале доступа Nginx означает время окончания запроса (или близко к).
Тогда есть ли способ зарегистрировать начальное время запроса в журнале доступа Nginx?
Я искал в Google, но просто не могу найти никаких ссылок, чтобы добиться этого. Давай! Разве это не очень простая функция для веб-сервера? Не говорите мне вычитать $ request_time из $ time_local ...
Ну есть патч для nginx (https://gist.github.com/rkbodenner/318681#comment-610856), который предоставляет время начала запроса как переменную.
Думаю, это может быть полезно в вашем случае.
Ты можешь написать $msec
и $request_time
в журнал и использовать $msec
- $request_time
как время начала при разборе.
Я знаю, что это старый вопрос, но я думаю, что он заслуживает обновления, поскольку nginx>1.2.5
(по состоянию на июль 2017 года стабильная версия nginx 1.13
) это теперь тривиально
В журнале используйте
start_time="$msec"
Или добавить заголовок:
add_header X-Request-Start $msec
или для прокси
proxy_set_header X-Request-Start $msec