nginx作为代理 后端服务器ip问题

本文主要记录在使用nginx作为代理服务器时,遇到后端服务器IP记录错误的问题。通过详细排查,发现是由于采用nginx+nginx架构导致的问题。经过一系列尝试,最终找到了解决这个问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于采用nginx+nginx的方式,导致后端nginx记录的ip记录错误,走了很多弯路,记录一下。

1.在后端机器上重新变异nginx

./configure  --prefix=/usr/local/webserver/nginx --with-http_ssl_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_realip_module
make
make install
2,前端nginx proxy配置
    proxy_pass        http://nginx_upstream;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    client_max_body_size  10m;
    client_body_buffer_size 128k;
    proxy_connect_timeout 120;
    proxy_send_timeout    90;
    proxy_read_timeout    90;
    proxy_buffer_size     4k;
    proxy_buffers    4   32k;
    proxy_busy_buffers_size 64k;
    proxy_temp_file_write_size  64k;
3.后端nginx proxy配置
  set_real_ip_from 10.164.191.102; 前端代理ip
  real_ip_header     X-Real-IP;
  proxy_set_header X-Real-IP $remote_addr; 一定得加上,不然获取的还是代理ip
4.后端日志记录设置
    log_format  '$http_x_real_ip - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

5.nginx+apache配置
用mod_rpaf来获取IP的
所以需要安装这个模块
下载:http://stderr.net/apache/rpaf/download/
tar zxvf mod_rpaf-0.6.tar.gz
cd mod_rpaf-0.6
/usr/local/www/apache/bin/apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

配置apache:
在 httpd.conf中添加
LoadModule rpaf_module libexec/apache2/mod_rpaf-2.0.so

RPAFenable On
RPAFsethostname On
RPAFproxy_ips 192.168.1.1 #这个是前段的IP,可不是后端的IP哦
RPAFheader X-Forwarded-For
LogFormat "%{X-Real-Ip}i %l %u %t \"%m http://%v%U%q\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" - %h" combinedall

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值