2017-11-10 11 views
0

私はカスタムヘッダーを設定するためにHAProxyを取得するつもりですログに記録します。以下はログHAProxyカスタムヘッダー

は私はプロキシを呼び出す

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 

(私は私の問題に関連していないと考えているいくつかのSSLの詳細および複数のバックエンドを残してきた)私のhaproxy.cfgのダウンペア例です。

curl 127.0.0.1 

私は、ログにカスタムヘッダを見て期待していたが、それは表示されません。

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

ハードコードされた「Foo」が表示されるため、log-formatコマンドが正常に動作しています。しかし、それ以外は空のままレンダリングされます...ログ後にカスタムヘッダーが設定されますか?どのようにカスタムヘッダを記録できますか?

私はHAProxyを初めて使うので、これが理解できないかもしれないと思います。

(私はCMD でHAProxy開始し、sudo tail -f /var/log/haproxy/haproxy.logでログイン守っこれはHAProxyバージョン1.6.2である。)

答えて

1

あなたは、この使用することができます:captureを前に実行を取得することを

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 

注意をhttp-requestなので、Fooをログに記録することはできません。