nginx专题

nginx 反向代理中proxy_set_header的含义

2020-10-23  本文已影响0人  宇晨棒棒的

1.proxy_set_header设置的请求头是传递给后端服务器的

2.ngixn反向代理中proxy_set_header的设置:

 proxy_set_header Host $http_host;

 proxy_set_header X-Real-IP $remote_addr;

 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

 proxy_set_header        X-Forwarded-Proto  $scheme;

 proxy_set_header        X-Forwarded-Uri  $request_uri;

解析:

1)$http_host:代理服务器本身IP。

2)$remote_addr:前一节点的IP,并不一定是用户的真实IP。

$proxy_host:代理服务器请求的host,即后端服务器/源站的IP,后端服务器有可能还是代理服务器。

$proxy_port:代理服务器请求的后端服务器的端口。

3)$http_x_real_ip:获取的是前一节点的X-Real-IP的值。

4)$proxy_add_x_forwarded_for:获取的是前一节点的X-Forwarded-For的值。

3. X-Forwarded-For 对应不同值:

proxy_set_header X-Forwarded-For $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

当只有一层代理服务器的情况下,两者的X-Forwarded-For值一致,都是用户的真实IP。

区别

$remote_addr是前一节点的IP,并不一定是用户的真实IP。

$proxy_add_x_forwarded_for变量包含$http_x_forwarded_for与$remote_addr两部分,他们之间用逗号分开。

上一篇下一篇

猜你喜欢

热点阅读