1、Nginx Proxy直接把请求往后转发,没有做任何处理。
Nginx Proxy
10.10.107.107 nginx.conf
location /test {
proxy_pass http://10.10.107.112:8080;
}
10.10.107.112 nginx.conf
location /test {
proxy_pass http://10.10.107.114:8080;
}
Nginx Proxy就是简单的把请求往后转发。
Nginx Backend
10.10.107.114 nginx.conf
location /test {
default_type text/html;
charset gbk;
echo "$remote_addr || $http_x_forwarded_for";
}
Nginx Backend输出客户端IP($remote_addr)和X-Forwarded-For请求头($http_x_forwarded_for),当访问服务时输出结果如下所示:
10.10.107.112 ||
分析
1. r e m o t e a d d r 代 表 客 户 端 I P , 当 前 配 置 的 输 出 结 果 为 最 后 一 个 代 理 服 务 器 的 I P , 并 不 是 真 实 客 户 端 I P ; 2. 在 没 有 特 殊 配 置 情 况 下 , X − F o r w a r d e d − F o r 请 求 头 不 会 自 动 添 加 到 请 求 头 中 , 即 N g i n x B a c k e n d 的 remote_addr代表客户端IP,当前配置的输出结果为最后一个代理服务器的IP,并不是真实客户端IP; 2.在没有特殊配置情况下,X-Forwarded-For请求头不会自动添加到请求头中,即Nginx Backend的