gpt4 book ai didi

logging - 记录 HAProxy 自定义 header

转载 作者:行者123 更新时间:2023-12-05 01:18:01 26 4
gpt4 key购买 nike

我希望让 HAProxy 设置自定义 header 记录它。

下面是我的 haproxy.cfg 的配对示例(我遗漏了一些我认为与我的问题无关的 SSL 详细信息和多个后端)

global
log 127.0.0.1 local0 debug

defaults
log global
stats enable
option httplog


frontend httpFrontendi
mode http
bind *:80
http-request add-header Foo Bar
capture request header Foo len 64
log-format Foo\ %[capture.req.hdr(0)]\ %hr\ %hrl\ %hs\ %hsl

default_backend backend_api
redirect scheme https code 301 if !{ ssl_fc }


backend backend_api
mode http
balance roundrobin
option httpchk HEAD /api/test_db HTTP/1.0
server backend_api1 ip:80 check inter 5s rise 2 fall 3

我调用代理:

curl 127.0.0.1

然后我期待在日志中看到自定义 header ,但它没有显示:

Nov 10 17:49:36 localhost haproxy[22355]: Foo - {} - 

出现了硬编码的“Foo”,所以 log-format 命令显然有效。但是其他所有内容都呈现为空...是否在记录后设置了自定义 header ?如何记录自定义 header ?

我是 HAProxy 的新手,所以我认为这可能是我缺少的一些理解。

(我使用 cmd sudo haproxy -f/etc/haproxy/haproxy.cfg 启动 HAProxy 并使用 sudo tail -f/var/log/haproxy/haproxy.log< 观察日志。这是在 HA-Proxy 版本 1.6.2 上)

最佳答案

你可以用这个:

http-request add-header Foo Bar
#capture request header Foo len 64
http-request capture req.hdr(Foo) len 64
log-format Foo\ %[capture.req.hdr(0)]\ %hr\ %hrl\ %hs\ %hsl

请注意,capturehttp-request 之前执行,因此您无法记录 Foo。

关于logging - 记录 HAProxy 自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47228549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com