[转帖]nginx 反向代理中proxy_set_header的含义

nginx,反向,代理,proxy,set,header,含义 · 浏览次数 : 0

小编点评

当设置代理服务器的请求头时,需要使用以下设置: - `proxy_set_header Host $http_host;`:设置代理服务器的请求地址为代理服务器本身IP。 - `proxy_set_header X-Real-IP $remote_addr;`:设置真实IP地址为后端服务器的IP地址。 - `proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;`:设置代理服务器将真实IP地址替换为代理服务器IP地址。 - `proxy_set_header X-Forwarded-Proto $scheme;`:设置代理服务器将使用该协议的连接方式。 - `proxy_set_header X-Forwarded-Uri $request_uri;`:设置代理服务器将使用该URI进行请求。

正文

https://www.jianshu.com/p/cd813d68ed25

 

0.1212020.10.23 09:29:53字数 284阅读 9,939

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两部分,他们之间用逗号分开。

与[转帖]nginx 反向代理中proxy_set_header的含义相似的内容:

[转帖]nginx 反向代理中proxy_set_header的含义

https://www.jianshu.com/p/cd813d68ed25 0.1212020.10.23 09:29:53字数 284阅读 9,939 1.proxy_set_header设置的请求头是传递给后端服务器的 2.ngixn反向代理中proxy_set_header的设置: prox

[转帖]Nginx反向代理中使用proxy_redirect重定向url

https://www.cnblogs.com/kevingrace/p/8073646.html 在使用Nginx做反向代理功能时,有时会出现重定向的url不是我们想要的url,这时候就可以使用proxy_redirect进行url重定向设置了。proxy_redirect功能比较强大,其作用是对

[转帖]nginx 反向代理 URL替换方案

nginx 提供反向代理服务,日常开发过程中有时候我们需要使用nginx 作为代理服务根据url的不同去访问不同的服务器或者不同端口,如下提供两种方案。 1.直接替换location 匹配部分 1.proxy_pass的目标地址,默认不带/,表示只代理域名,url和参数部分不会变(把请求的path拼

[转帖]nginx 反向代理 URL替换方案

nginx 提供反向代理服务,日常开发过程中有时候我们需要使用nginx 作为代理服务根据url的不同去访问不同的服务器或者不同端口,如下提供两种方案。 1.直接替换location 匹配部分 1.proxy_pass的目标地址,默认不带/,表示只代理域名,url和参数部分不会变(把请求的path拼

[转帖]Nginx之proxy_redirect详解

今天在做nginx反向代理apache的时候出了一点点问题,原来后端apache用的端口是8080通过反向代理后,使用wireshark抓包发现location头域数值为http://192.168.1.154:8080/wuman/ 如果把这个返回给客户端肯定是不可以的,看起来别扭而且还暴露了ap

[转帖]Nginx 反向代理地址后,session丢失,不能登录的问题

https://www.cnblogs.com/fan-yuan/p/14417255.html 设置反向代理后,session丢失无法正常登录,需按照如下格式设置即可location /aaaaa/bbbbbb { #代理跳转的路径 proxy_pass http://localhost:8080

[转帖]nginx 的超时设置

前言 我们在使用nginx做反向代理的时候,可能会遇到这个场景:后端正常的业务处理时间超过了nginx的超时时间,导致nginx主动返回504。为解决这个问题,我们网上搜索发现可以通过调整这几个参数来调大nginx的超时时间。 proxy_connect_timeout proxy_send_tim

[转帖]nginx http超时重试幂等问题

https://blog.csdn.net/wangtingting_100/article/details/89842557 nginx做反向代理时,作为负载均衡器,对执行失败的任务默认会调度到其他节点执行。 默认设置:proxy_next_upstream error timeout #发生网络

[转帖]高性能 Nginx HTTPS 调优!为 HTTPS 提速 30%

https://zhuanlan.zhihu.com/p/346618690 为什么要优化 Ngin HTTPS 延迟 Nginx 常作为最常见的服务器,常被用作负载均衡 (Load Balancer)、反向代理 (Reverse Proxy),以及网关 (Gateway) 等等。一个配置得当的 N

[转帖]关于nginx 反向代理upstream中的 keepalive配置

一、关于nginx upstream 在nginx的模块中,分为3种类型,分别是handler,filter和upstream,其中upstream可以看做一种特殊的handler,它主要用来实现和后端另外的服务器进行通信,由于在nginx中全部都是使用非阻塞,并且是一个流式的处理,所以upstre