nginx: какой порт получил запрос?

В целях тестирования я использую nginx для прослушивания нескольких портов при отправке распределенных http-запросов. Я вижу, как nginx получает запрос, но мне нужно знать, какой из его портов на самом деле его получил. Я не вижу никаких вариантов в журналах, чтобы пометить это.

Я полагаю, уродливая альтернатива - установить несколько экземпляров, чтобы их журналы были разделены, но должен быть лучший способ, чем этот...?

Ответ 1

Все, что вы можете получить как переменную в конфигурации nginx, вы можете регистрировать, включая нестандартные заголовки HTTP и т.д.

Вы хотите добавить var, $server_port

log_format  mycustomformat  '$host $remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" $server_port';
access_log /var/log/nginx/access.log mycustomformat;