2012-10-17 35 views
0

我有一臺運行Ubuntu 12.04 LTS,Pound 2.6和Apache 2.2的服務器。我還安裝了Apache模塊mod_rpaf(從https://github.com/gnif/mod_rpaf安裝),並確保在變量REMOTE_ADDR中顯示真實用戶的IP地址,而不是代理的地址。 這工作正常,但變量REMOTE_HOST不會被mod_rpaf更改。這個變量包含「localhost」而不是給定用戶ip地址的主機。Pound&Apache:REMOTE_HOST包含代理主機

你能幫助我嗎?

這裏是我的mod_rpaf配置:

[email protected] ~ # cat /etc/apache2/mods-enabled/rpaf.conf 
RPAF_Enable  On 
RPAF_ProxyIPs  127.0.0.1 
RPAF_Header  X-Forwarded-For 
RPAF_SetHostName On 
RPAF_SetHTTPS  On 
RPAF_SetPort  On 

謝謝

回答

1

檢查theses answers關於失蹤REMOTE_HOST前一個問題:

REMOTE_HOSTS是,可能會或可能不會被填充的變量apache(如果沒有設置,它會更好,否則它暗示apache對每個傳入請求的DNS查詢)。所以,你的代碼不應該依賴REMOTE_HOST。沒有應用程序應該假設這個變量會在那裏並正確填充。

mod_rpaf做什麼它是專爲,文檔:

集REMOTE_ADDR,HTTPS,以及HTTP_PORT到由上游代理所提供的值。

現在你有一個工作REMOTE_ADDR,這是你應該相信,做它的一個副本REMOTE_HOST如果你真的想,唯一的變量,只是做在你的應用程序代碼。

+0

'HostnameLookups'已被設置爲'Off' – Heiko

+0

肯定的,那麼你爲什麼想在REMOTE_HOST中做些什麼? – regilero

+0

我不喜歡的只是不正確的價值。我不知道這個變量是否被我的服務器上的程序使用。我寧願這個變量沒有設置,而不是有這個不正確的值。 – Heiko