Apache后端获取用户真实IP地址-nginx前端

凉白开 Apache220,0231字数 1066阅读3分33秒阅读模式
摘要

mod_rpaf 是一个 Apache的模块,利用它可以给 Apache 的后端应用提供客户端真实的IP地址。在nginx作为前端,apache作为后端的情况下,apache只能获取到nginx前端的ip地址,而无法获取到用户的真实ip地址,在这种情况下,如果php需要对用户的ip做限制将无法实现。针对这种环境,apache开发了相应的模块mod_rpaf,能够获取到用户的真实ip地址。

mod_rpaf 是一个 Apache的模块,利用它可以给 Apache 的后端应用提供客户端真实的IP地址
nginx作为前端,apache作为后端的情况下,apache只能获取到nginx前端的ip地址,而无法获取到用户的真实ip地址,在这种情况下,如果php需要对用户的ip做限制将无法实现。针对这种环境,apache开发了相应的模块mod_rpaf,能够获取到用户的真实ip地址。

如下图:
apache获取真实ip地址
左边只能获取到nginx代理的IP地址,右边Apache才能获取到用户的真实ip地址
使用方法:文章源自运维生存时间-https://www.ttlsa.com/apache/apache-get-real-ip/

# if DSO load module first:
LoadModule rpaf_module libexec/apache2/mod_rpaf-2.0.so

RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 10.0.0.1
RPAFheader X-Forwarded-For

具体安装配置请往下看
下载安装模块文章源自运维生存时间-https://www.ttlsa.com/apache/apache-get-real-ip/

wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz
tar -xzvf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6/
/usr/local/apache2.2.15/bin/apxs  -i -c -n mod_rpaf-2.0.slo mod_rpaf-2.0.c

添加apache配置文章源自运维生存时间-https://www.ttlsa.com/apache/apache-get-real-ip/

vi  /usr/local/apache2.2.15/conf/httpd.conf
# 在最后一行复制如下内容
LoadModule rpaf_module        modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 127.0.0.1 192.168.50.10 # 代理服务器的ip地址(记得做相应修改)
RPAFheader X-Forwarded-For
备注:RPAFproxy_ips后面添加代理服务器的ip地址,有几个填几个

查看apache是否有rapf模块文章源自运维生存时间-https://www.ttlsa.com/apache/apache-get-real-ip/

# /usr/local/apache2.2.15/bin/apachectl -M | grep rpaf
rpaf_module (shared)

最后重启Apache即可文章源自运维生存时间-https://www.ttlsa.com/apache/apache-get-real-ip/

# /usr/local/apache2.2.15/bin/apachectl -t
# /usr/local/apache2.2.15/bin/apachectl restart

转载请注明出处:https://www.ttlsa.com/html/1022.html文章源自运维生存时间-https://www.ttlsa.com/apache/apache-get-real-ip/

文章源自运维生存时间-https://www.ttlsa.com/apache/apache-get-real-ip/文章源自运维生存时间-https://www.ttlsa.com/apache/apache-get-real-ip/
weinxin
我的微信
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
凉白开
  • 本文由 发表于 07/02/2012 10:13:32
  • 转载请务必保留本文链接:https://www.ttlsa.com/apache/apache-get-real-ip/
  • apache获取真实ip地址
  • nginx
  • nginx代理
  • rpaf
  • 用户ip地址
  • 真实ip
  • 获取用户ip地址
评论  2  访客  1
    • aiaya
      aiaya 0

      X-Forwarded-For 写到日志里面不可以获取到真实的用户ip地址么?

    评论已关闭!