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