Nginx获取反向代理真实IP和向下转发

Posted 吉小僧的博客园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx获取反向代理真实IP和向下转发相关的知识,希望对你有一定的参考价值。

一、nginx前端的连接来自反向代理服务器,如果需要获取真实IP,可按此配置:

server {
    listen       80;
    server_name  host.domain.com;
    charset utf-8;
    set_real_ip_from  1.2.3.4;          //真实服务器上一级代理的IP地址或者IP段,可以写多行
    real_ip_header    X-Forwarded-For;  //告知Nginx真实客户端IP从哪个请求头获取
    real_ip_recursive off;              //是否递归解析,off表示默认从最后一个地址开始解析
    ...
    }

  

二、Nginx作为反向代理服务器,向下转发真实IP

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;

 

更多详细的内容,请参看参考资料: 

1. https://www.cnblogs.com/mzhaox/p/11214747.html
2. https://my.oschina.net/yysue/blog/2221374

以上是关于Nginx获取反向代理真实IP和向下转发的主要内容,如果未能解决你的问题,请参考以下文章

使用nginx反向代理时,如何正确获取到用户的真实ip

nginx 反向代理和后端服务器获取真实 ip

nginx 反向代理 获取客户端真实IP和域名以供日志分析

nginx 反向代理 获取客户端真实IP和域名以供日志分析

nginx 反向代理 获取客户端真实IP和域名以供日志分析

nginx 反向代理 获取客户端真实IP和域名以供日志分析