Mod-Proxy

根據另一個請求頭的值在 mod_proxy 上添加請求頭

  • May 20, 2013

我有一個執行 mod_proxy 的伺服器,我需要重命名請求標頭。更接近源的代理正在剝離 X-Forwarded-For 標頭,但我們需要保留該數據,因此我想將該值添加到不同的標頭以允許源接收它。

從我對 doco 的閱讀來看,無法重命名標頭,而且我看不到如何將值傳遞到 RequestHeader 中添加 mod_headers。

RequestHeader可以將環境變數的值插入到頭值中,並且SetEnvIf可以根據請求頭值設置環境變數,所以下面的配置應該可以達到你所需要的:

SetEnvIf X-Forwarded-For (.*) saved_x_forwarded_for=$1
RequestHeader set X-Custom-Forwarded-For "%{saved_x_forwarded_for}e"

您應該使用set而不是add,這樣即使客戶端發送包含您的自定義標頭的請求,客戶端指定的值也將被覆蓋(儘管這也不是 100% 可靠,因為X-Forwarded-For標頭也可能被欺騙)。還要測試如果沒有X-Forwarded-For收到請求會發生什麼。

引用自:https://serverfault.com/questions/509156