Назад | Перейти на главную страницу

Apache: X-Request-ID как в Heroku

мне нравиться X-Request-ID:

Маршрутизатор Heroku генерирует уникальный идентификатор запроса для каждого входящего HTTP-запроса, который он получает. Затем этот уникальный идентификатор передается вашему приложению в виде HTTP-заголовка под названием X-Request-ID.

Из https://devcenter.heroku.com/articles/http-request-id

Как я могу настроить Apache для предоставления X-Request-ID что отличается, даже если используется многопоточный MPM?

Вам нужно сделать две вещи:

  1. Загрузите unique_id_module. Это обеспечивает переменную среды UNIQUE_ID, которая служит этой цели.

    LoadModule mod_unique_id.c
    
  2. Скопируйте UNIQUE_ID в X-Request-ID заголовок в соответствующем виртуальном хосте, используя RequestHeader директива.

    RequestHeader setifempty X-Request-ID %{UNIQUE_ID}e
    ProxyPass ...
    ProxyPassReverse ...
    

По желанию вы также можете поставить %{UNIQUE_ID}e в настраиваемый формат журнала так что вы можете зарегистрировать его из Apache (возможно, в дополнение к вашему приложению).