使用魔门云后如何取得真实用户IP

魔门云CacheMoment的产品作为反向代理,作用在用户与源服务器之间,所有的请求都会变成有魔门云的节点发起,这样对于一些网站或者应用就可能存在以下问题:

  • 如果你的网站或者APP会根据用户的来源IP做一些逻辑处理,那么现在取得的IP就变成了魔门云的回源节点IP。

  • 同样,log里的记录的来源IP也会变成魔门云的回源节点IP

获取用户的真实IP

魔门云的回源请求中携带了两个有关客户端IP的Header,分别是:

  1. X-Real-IP 如果用户直接访问魔门云,我们会用这个Header来记录用户和我们建立连接的真实IP
  2. X-Forwarded-For 如果用户通过代理(本地缓存,运营商缓存)访问魔门云,我们会通过这个Header来传递代理发来的用户IP

对于nginx用户,可以使用NGINX的这个module: ngx_http_realip_module,以保证能拿到真是用户的IP地址。

增加以下配置:

set_real_ip_from 118.89.239.0/24; # 请将IP替换成魔门云节点IP
real_ip_header X-Real-IP;

关于魔门云节点IP信息请参考魔门云的节点IP列表

在log中记录用户的真实IP

可以在设置log_format时使用

$http_x_forwarded_for

results matching ""

    No results matching ""