IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    使用mod_remoteip获取客户端真实IP

    五月里徜徉的小猫咪发表于 2014-04-06 01:13:45
    love 0

    昨天做好了nginx+apache的环境,但是发现没有办法获取到评论者的真实IP,尽管nginx端已经明确的加入了

    proxy_set_header Host $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    似乎还是不起作用,所以肯定问题是出现在在apache这一端。

    先是去搜索了一下,网上说的是用rpaf.so这个第三方模块实现,然后我就直接去httpd.conf看,发现有一个Module叫做mod_remoteip.so,于是跑到apache官网看了一下,果然这个模块可以,于是根据官网的配置,配置了一下

    LoadModule remoteip_module modules/mod_remoteip.so
    RemoteIPHeader X-Real-IP
    RemoteIPInternalProxy 127.0.0.1

    第二行是反向代理的地址,这样的话,我们重启httpd之后就可以看到评论的真实IP了。

    后面我们需要修改accesslog的配置,将%h改成%a,以保证我们在日志里面也能看到客户端的正确IP,方便看日志



沪ICP备19023445号-2号
友情链接