以自定义格式记录HAProxy捕获的响应标头

时间:2018-10-04 09:23:46

标签: haproxy

我有一个带有自定义JSON log-format的HAProxy配置。我想捕获一个特定的响应头并记录下来。

但是,无论我如何尝试捕获它,都无法使其显示在日志中。

在我的日志格式中,我使用%[capture.res.hdr(0)],但它仅以-的形式出现。我也尝试过%[res.hdr(0)]%[res.hdr(MyHeader)],但是它们不是有效的配置,因此HAProxy无法启动。

我尝试使用以下方式进行捕获:

capture response header MyHeader len 50

但是它不起作用。我也尝试过:

declare capture response len 50
http-response capture res.hdr(MyHeader) id 0

没有成功。 %hs格式变量有效-所有捕获的标头均以分隔字符串记录。但是我想将标头分别记录为JSON属性。

我在做什么错了?

我当前正在使用HAProxy 1.8。

1 个答案:

答案 0 :(得分:0)

capture response header MyHeader len 50部分中使用frontend和在%[capture.res.hdr(0)]中使用log-format似乎很有效。原来,我有多个运行HAProxy的实例,并且只重载了其中的一些实例,因此更改仅针对某些请求进行。