Назад | Перейти на главную страницу

Как записать время начала запроса в Nginx

Как указано в этот ответ, переменная $ 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