你在这里

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,这里必须列出所有的代理服务器
*/
# $conf['reverse_proxy_addresses'] = array('a.b.c.d', ...);

 

如果有朋友跟我一样碰到这样的问题,不妨先如此设置一番,看看能否解决问题.

在这里得感谢Drupal 中国群里的 "看山" 前辈. 还有它提供的drupal settings 中文配置说明:

http://drupalchina.cn/node/3772

https://drupal.fleeto.us/content/settingsphp

 

Drupal 版本: 

猜你喜欢