原创

Nginx 解决代理无法获取本地真实IP地址方法

        Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。与旧版本(<=2.2)的Apache不同,nginx不采用每客户机一线程的设计模型,而是充分使用异步逻辑,削减了上下文调度开销,所以并发服务能力更强。整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。 在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。


解决 Nginx 代理无法获取本地真实IP地址具体步骤如下:

1.在 Linux 系统中查找 Nginx 配置文件 Nginx.conf ,执行命令如下:

[root@iZ256w2hluuZ ~]# find / -name nginx.conf
/etc/nginx/nginx.conf

2.执行 cd 命令进入 /etc/nginx 目录下,编辑 nginx.conf 文件,本人配置如下:

server {  
         listen       80  default_server;  
         server_name  _;  
         rewrite ^ http://www.yoodb.com$request_uri?;
     }
server {
        listen       80;
        server_name  www.yoodb.com;
        charset gbk;
        location / {
             root /usr/local/apache-tomcat-7.0.56/webapps/ROOT;
        }
        location ~ .*$ {  
proxy_pass http://123.57.47.154:89;
        }
    }

此时 Nginx 代理无法获取本地真实IP地址,需要增加配置内容如下:

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

在 Nginx.conf 文件中增加配置内容之后如下:

server {  
         listen       80  default_server;  
         server_name  _;  
         rewrite ^ http://www.yoodb.com$request_uri?;
     }
server {
        listen       80;
        server_name  www.yoodb.com;
        charset gbk;
        location / {
             root /usr/local/apache-tomcat-7.0.56/webapps/ROOT;
        }
        location ~ .*$ { 
proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_pass http://123.57.47.154:89;
        }
    }

3.保存文件,执行命令重启 Nginx 服务器,命令了如下:

[root@iZ256w2hluuZ ~]# service nginx restart

关注下方微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

分享:

支付宝

微信