Haproxy 不捕捉添加的標頭

Haproxy 不捕捉添加的標頭

我可以使用「http response add-header」功能在 haproxy 中新增標頭,並且成功完成,因為當我使用 Wireshark 時,我可以在我的 http 封包中看到這些新增的標頭。

問題是我無法捕捉到它們。我使用“捕獲響應標頭”功能,透過該功能,我可以捕獲並記錄常見標頭,例如“內容類型”或“連接”,但它不適用於添加的標頭。

這是我的conf檔 haproxy.cfg :

global
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /var/lib/haproxy
    stats socket /run/haproxy/admin.sock mode 660 level admin
    stats timeout 30s
    user haproxy
    group haproxy
    daemon

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    option  http-server-close
    timeout http-request 5000
    timeout connect 5000
    timeout client  50000
    timeout server  50000

frontend localnodes
    bind 10.0.0.16:80
    mode http
    # Table definition  
    stick-table type ip size 100k expire 30s store conn_cur
    tcp-request connection track-sc1 src

    capture response header X-Test-One len 10
    capture response header X-Test-Two len 10
    capture response header Content-Type len 10
    capture response header Connection len 10


default_backend nodes

backend nodes
    mode http
    balance roundrobin

    http-response add-header X-Test-One %Ts
    http-response add-header X-Test-Two %T

    server web01 123.123.22.22:2222 check maxconn 500

listen stats *:1936
    stats enable
    stats uri /
    stats hide-version
    stats auth notthelogin:notthepassword

當我發出 http 請求時,我的日誌檔案中會包含以下內容:

Oct  7 11:12:38 localhost haproxy[20304]: 10.0.0.20:34316 [07/Oct    /2015:11:12:38.972] localnodes nodes/web01 0/0/0/1/1 200 11378 - - ---- 14/14/0/0/0 0/0 {||text/html|close} "GET / HTTP/1.0"

在日誌中,我們可以透過「{||text/html|close}」清楚地看到標準標頭被很好地捕獲,但不是在「|」之間顯示為空的 2 個新增的標頭。但是我們可以透過wireshark看到它們在http資料包中

顯示自訂標頭的 Wireshark 螢幕截圖

有人可以幫我嗎?我不知道問題出在哪裡,我已經解決了兩天了:/

謝謝 :)

相關內容