两级Nginx代理带来的无法获取真实用户IP问题解决办法

第一级 Nginx

最前端的Nginx代理有下面的内容。

    server {
        listen 80;
        server_name www.xxxxx.net;
        proxy_set_header  Host   $host:80;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For    $proxy_add_x_forwarded_for;

第二级 Nginx

set_real_ip_from 和 real_ip_header 这3行必须有。

        listen  192.168.1.163:8030;
        server_name     www.xxxxx.net;
        access_log      /var/log/nginx-xxxxx-v3-access_log;
        charset         utf-8;
        default_type    text/html;

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

        set_real_ip_from   192.168.1.0/24;
        set_real_ip_from   192.168.1.163;
        real_ip_header     X-Real-IP;

经过实践证明,是可以运作的。

猜你喜欢

转载自xiaolin0199.iteye.com/blog/2016332
今日推荐