本來講解內容是Drupal無法正確獲取到用戶真實ip地址的解決途徑,很多人用反向代理服務器經常用于增強大負載網站的性能,這樣Drupal就獲取不到p客戶端的真實的用戶IP,本來來告訴你簡單設置就可以解決Drupal無法正確獲取到ip地址的問題.
- /**
- * 反向代理配置:
- * 反向代理服務器經常用于增強大負載網站的性能,同時提供額外的站點緩存、安全等好處。
- * 如果Drupal部署反向代理服務器之后,Drupal的日志、統計以及訪問控制系統都需要獲取真實的用戶IP。
- * 通常反向代理服務器會在請求中添加X-Forwarded-For頭,用于傳遞客戶IP地址。
- * 然而,HTTP頭對于客戶端欺詐來說是很脆弱的,有些客戶端能夠直接生成這個Header信息。
- * 所以,Drupal需要在$conf['reverse_proxy_address']中設置所有的代理服務器地址。
- *
- * 激活這個設置讓Drupal可以從X-Forwarded-For頭中獲取用戶的IP地址。
- * 這個Header的名字也可以通過$conf['reverse_proxy_header']修改為其他名稱。
- * 如果你不確定是否使用了反向代理,不知道這個選項的含義,或者站點托管在共享主機上,就不必設置。
- *
- * 啟用這個配置,就必須把每個反向代理服務器的地址都保存在$conf['reverse_proxy_addresses']中。
- * 如果你的環境中無法獲取一個完整的反向代理服務器列表(例如CDN)。可以在settings.php中直接設置$_SERVER['REMOTE_ADDR']。
- * 這意味著可能發生IP偽造。
- */
- $conf['reverse_proxy'] = TRUE;
- /**
- * 如果$conf['reverse_proxy']設置為TRUE,這里必須列出所有的代理服務器 //開源軟件:Vevb.com
- */
- $conf['reverse_proxy_addresses'] = array('a.b.c.d', ...);
如果有朋友跟我一樣碰到這樣的問題,不妨先如此設置一番,看看能否解決問題.
新聞熱點
疑難解答