阅读模式:

nginx反向代理的ip设置

查看:10469  :0  类型:  来源:php自学网  标签 nginx php

        nginx反向代理后,php通过$_SERVER['REMOTE_ADDR']获取ip时,获取到的ip都是nginx的ip 127.0.0.1 。这时需要nginx去获取客户端的ip地址,并设置到反向代理头中,供php获取使用。

一、之前nginx配置

server{
        listen      80;
        charset     utf-8;
        
        location = /test{
            proxy_pass http://127.0.0.1:8080/index.php;
        }        
}

二、设置反向代理头ip信息后的nginx配置

server{
        listen      80;
        charset     utf-8;
        
        location = /test{
            proxy_pass http://127.0.0.1:8080/index.php;
            proxy_set_header    X-Real-IP        $remote_addr;
            proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header    HTTP_X_FORWARDED_FOR $remote_addr;
        }        
}

    在反向代理中增加

            proxy_set_header    X-Real-IP        $remote_addr;
            proxy_set_header    X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header    HTTP_X_FORWARDED_FOR $remote_addr;

    代码后,就能获取到客户端真实ip。

*php获取客户端真实ip代码:http://zixuephp.net/article-26.html

分享到:
0 1

我的看法:

IN: