Nginx: Как записать количество байтов, отправленных через веб-сокет?
Я использую nginx в качестве обратного прокси-сервера. Я хотел бы записать количество байтов, отправленных (и в идеале также полученных) через веб-сокет. Если я использую $body_bytes_sent
в log_format
запись в access_log всегда равна 0. Насколько я могу судить, через веб-сокет прошло много данных, поэтому $body_bytes_sent
не включает в себя данные, отправленные через веб-сокет.
Я пытался использовать $bytes_sent
, но это всего лишь один или двести байт (независимо от того, сколько данных отправляется через веб-сокет), что явно является заголовками HTTP. Я просмотрел список доступных переменных nginx, но ничего для себя не нашел...
Любая идея?
1 ответ
Задача решена!
Проблема была в том, что я использовал старую версию nginx. С последней (1.14.0), $body_bytes_sent
регистрирует количество байтов, отправленных через веб-сокет.