Haproxy
HAProxy - 如何在 X-Client-IP 和 X-Forwarded-For 標頭中附加客戶端 IP?
我的 HAProxy 伺服器有問題。我想在標頭中轉發客戶端 IP。我幾乎做到了,但是有一個有趣的案例,我想不通。我需要在 X-CLIENT-IP 和 X-FORWARDED-FOR 標記的標頭中的 2 個位置寫入客戶端 IP。
問題是:當我使用
option http-server-close option forwardfor
在目標伺服器上,我在標頭 X-FORWARDED-FOR=xxx.xxx.xxx.xxx(client ip) 中看到,但沒有 x-client-ip 標頭。
當我使用:
option forwardfor header X-Client-IP option http-server-close
在目標伺服器上,我看到標頭 X-CLIENT-IP=xxx.xxx.xxx(client IP) 但 X-FORWARDED-FOR=xxx.xxx.xxx.xxx(HAProxy ip)
我需要查看 X-CLIENT-IP 和 X-FORWARDED-FOR 具有客戶端 IP 值的目標標頭。
我嘗試混合配置,例如
option forwardfor option forwardfor header X-Client-IP option http-server-close
沒有效果。我也不能安裝任何模組。目標是 IIS。
有任何想法嗎?:(
您可以嘗試設置自定義標頭,如下所示:
http-request set-header X-Client-IP %[src]
或者,您甚至可以從 X-Forwarded-For 標頭複製它,我認為語法類似於:
http-request set-header X-Client-IP req.hdr_ip([X-Forwarded-For])
如果您想同時使用兩者,則需要在第二個中添加
http-request
關鍵字。# add X-FORWARDED-FOR option forwardfor # add X-CLIENT-IP http-request add-header X-CLIENT-IP %[src]