Nginx: Как записать количество байтов, отправленных через веб-сокет?

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

Я пытался использовать $ bytes_sent , но это всего лишь одна или двести байтов (независимо от того, сколько данных отправляется через веб-сокет), что явно является просто заголовками HTTP. Я просмотрел список доступных переменных nginx, но ничего не нашел ...

Есть идеи?

0
задан 19 June 2018 в 19:23
1 ответ

Problem gelöst!

Das Problem war, dass ich eine alte Version von Nginx verwendete. Mit der neuesten Version (1.14.0) protokolliert $ body_bytes_sent die Anzahl der über den Websocket gesendeten Bytes.

0
ответ дан 5 December 2019 в 05:50

Теги

Похожие вопросы