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