HAProxy усекает host_header часть некоторых сообщений журнала

Благодаря всем для всех предложений. Я в конечном счете решил случайно путем ввода

$ passwd root

и делая все то же как прежде. Я понятия не имею, почему это работало когда

$ whoami
root
$ passwd

не сделал. Кто-либо может объяснить?

3
задан 14 May 2012 в 16:04
2 ответа

Из того, что я вижу в коде, это вообще не должно быть возможным (проверьте capture_headers () в proto_http.c). Заголовки обрезаются до запрошенной длины. По этой причине, если вы уверены, что видите такое поведение при запросах одного и того же хоста, проходящих через один и тот же интерфейс, единственная возможность, о которой я могу думать, это то, что у вас иногда есть два поля заголовка, одно с сокращенным значением и еще один с обычным, и этот haproxy регистрирует только первый, а сервер использует последний.

3
ответ дан 3 December 2019 в 05:15

Поскольку они имеют одинаковые отметки времени и тайминги, я предполагаю, что вы не включаете реальные примеры.

Без этих примеров лучшее, что я могу придумать, - это попытаться установить длину эти поля заголовка вручную, например:

capture request header Host len 50

Также обратите внимание, что, поскольку трафик системного журнала является UDP, следует ожидать определенного количества повреждений (хотя это звучит более конкретно). В HAProxy также есть настройка максимальной длины. Я никогда не увеличивал это значение, но если вы хотите попробовать, вот моя переписка с автором HAProxy:

> Can I increase the length of syslog messages sent out by HAProxy?
>
> Would it be as simple as changing:
> #define MAX_SYSLOG_LEN          1024
> In
> include/types/log.h
>
> Or is there more to it than that?

You can try, but it may do anything depending on your syslog server.
Some accept those messages, some do truncate the lines, YMMV."
4
ответ дан 3 December 2019 в 05:15

Теги

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