本来讲解内容是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', ...);
如果有朋友跟我一样碰到这样的问题,不妨先如此设置一番,看看能否解决问题.
新闻热点
疑难解答