Mod-Proxy
根據另一個請求頭的值在 mod_proxy 上添加請求頭
我有一個執行 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
收到請求會發生什麼。