美文网首页
反向代理,后端Apache获取真实IP地址

反向代理,后端Apache获取真实IP地址

作者: 新注册账号 | 来源:发表于2021-02-01 10:53 被阅读0次

    反向代理,后端Apache获取真实IP地址

    在配置负载均衡时,nginx做代理服务器,Apache做web服务,但是Apache获取不到真实用户

    的IP,需要给Apache增加模块mod_rpaf

    1.Apache设置:

    安装gcc:yum install gcc

    安装httpd-devel:yum install httpd-delvel

    安装模块mod_rpaf:

    #解压缩以后直接make install

    wget -O mod_rpaf.zip https://github.com/gnif/mod_rpaf/archive/stable.zip

    unzip mod_rpaf.zip

    cd mod_rpaf-stable

    make install

    修改主配置文件httpd.conf日志配置模块如下:

    <IfModule log_config_module>

        #replace %b with %O for more accurate logging

        <IfModule mod_logio.c>

          LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

          LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O" common

          LogFormat "%O %I" bytes

          LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio

        </IfModule>

        CustomLog /var/log/httpd/access_log common

    </IfModule>

    在模块配置目录/etc/httpd/conf.modules.d/增加rpaf模块引用配置文件rpaf.conf,代码如下:

    #mod_rpaf模块加载文件

    LoadModule              rpaf_module modules/mod_rpaf.so

    RPAF_Enable             On

    #代理服务器的IP地址

    RPAF_ProxyIPs           192.168.73.130

    RPAF_SetHostName        On

    RPAF_SetHTTPS           On

    RPAF_SetPort            On

    RPAF_ForbidIfNotProxy   Off

    2.Nginx设置:

    修改配置文件,在反向代理配置代码中加入参数proxy_set_header,代码参考如下:

    #转发请求到负载web服务器

        location / {

            proxy_set_header Host $host;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header REMOTE-HOST $remote_addr;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            #转发到loadbalance组web服务器

            proxy_pass http://192.168.247.134:8080;

        }

    相关文章

      网友评论

          本文标题:反向代理,后端Apache获取真实IP地址

          本文链接:https://www.haomeiwen.com/subject/symcoktx.html