Apache-2.2

Apache/Varnish/PHP:確認一下,是否可以自動更新 $_SERVER′稀土_米OT_和一種嘀嘀_R′′R和米這噸和一種DDR′‘REMOTE_ADDR’有真實客戶的IP?

  • October 17, 2013

我似乎無法讓真正的客戶端 IP 在 PHP 中顯示 $ _SERVER[‘REMOTE_ADDR’]. It shows in $ _伺服器

$$ ‘X_FORWARDED_FOR’ $$,但 $_SERVER$$ ‘REMOTE_ADDR’ $$始終指向 Varnish 服務 IP。 我幾乎嘗試過所有我能找到的 Varnish vcl 建議。我已經安裝了 Apache 模組 mod_rpaf。但我仍然無法獲得 $_SERVER

$$ ‘REMOTE_ADDR’ $$反映客戶的真實IP… 所以我的問題是,這甚至可能嗎?是否每個使用 Varnish 的人都必須為所有 PHP 應用程序做這樣的事情?:

$_SERVER['REMOTE_ADDR'] = $_SERVER['X_FORWARDED_FOR'];

或者我只是沒有正確配置它?

mod_extract_forwarded 是最受支持、穩定且可用的模組。包含在所有主要發行版中。

http://www.openinfo.co.uk/apache/

如前所述,使用 mod_extract_forwarded。

如果在重新載入 apache 配置時出現以下錯誤:

Syntax error on line 1 of /etc/httpd/conf.d/mod_extract_forwarded.conf: Cannot load /etc/httpd/modules/mod_extract_forwarded.so into server: /etc/httpd/modules/mod_extract_forwarded.so: undefined symbol: proxy_hook_scheme_handler

只需在mod_extract_forwarded之前載入 mod_proxy 模組。在 CentOS 6.4 上執行良好。

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