Nginx - доступ к Http пользовательских заголовков v2 - PullRequest
0 голосов
/ 11 октября 2019

Подобно этому вопросу и этому вопросу У меня есть клиент (bazel), который отправляет запросы в nginx.

Клиент добавляет пользовательский заголовок с именем build_id как HTTP_BUILD_ID к каждому запросу.

Я просто хочу зарегистрировать этот заголовок с nginx.

Я написал небольшое приложение Python flask и напечатал все заголовки, и он показал, что HTTP_BUILD_ID действительно является частью запроса.

К сожалению, nginx не может его найти. Вот как выглядит мой log_format с добавлением $http_build_id.

log_format main '$remote_addr - $upstream_cache_status [$time_local]
                '"$request" $status $body_bytes_sent '
                '[$http_build_id]'
                '"$http_referer" "$http_user_agent"';

1 Ответ

0 голосов
/ 11 октября 2019

Если вы отправляете его как HTTP_BUILD_ID, тогда вы должны использовать "$http_http_build_id" в своем log_format

Кроме того, проверьте определение виртуального хоста (сервера), чтобы убедиться, что он использует формат main,Некоторые установки по умолчанию выглядят так: access_log FILE combined, где combined - это предопределенный формат. Подробнее об этом здесь

Как указало OP, установка пакета nginx-echo-headers указала на некоторые недопустимые заголовки. Добавление underscores_in_headers on; исправило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...